это. Но проблема в ленивой загрузке данных. Если POCO / Entity отсоединен, у вас нет возможности лениво загрузить данные. Единственная альтернатива - загружать все данные, что тоже плохо.

верное, слишком много читаю и страдаю от информационной перегрузки. Поэтому я был бы признателен за некоторые четкие указания.

Из того, что я собрал, я могу использовать шаблон T4 VS2010 для генерации классов POCO, которые не привязаны напрямую к EF. Я поместил бы их в их собственный проект, в то время как мой DAL имел бы класс, производный от ObjectContext, верно?

Разве у меня есть эти классы, допустимо ли использовать их на уровне пользовательского интерфейса? То есть, скажем, один из сгенерированных классовBookInfo который содержит материалы о книгах для публичной библиотеки (название, издание, страницы, резюме и т. д.).

Мой BLL будет содержать классBooksBLL например вот так:

public class BooksBLL
{
    ObjectContext _context;

    public void AddBook(BookInfo book) { ... }
    public void DeleteBook(int bookID) { ... }
    public void UpdateBook(int bookID, BookInfo newBook) { ... }

    //Advanced search taking possibly all fields into consideration
    public List<BookInfo> ResolveSearch(Func<BookInfo, bool> filter) { ... }

    //etc...
}

Итак, мои ViewModels в моем приложении MVVM UI будут взаимодействовать с вышеуказанным классом BLL и обмениваться экземплярами BookInfo. Все хорошо?

Кроме того, сообщения MVVM в Интернете предлагают реализоватьIDataErrorInfo для целей проверки. Можно ли реализовать указанный интерфейс в сгенерированном классе POCO? Я вижу из примеров, что эти сгенерированные классы POCO содержат все виртуальные свойства и вещи, и я надеюсь, что добавление моей собственной логики будет в порядке?

Если это имеет какое-то значение, в настоящее время мое приложение не использует WCF (или какие-либо другие сетевые ресурсы).

Кроме того, если вы видите что-то ужасно неправильное в том, как я пытаюсь построить свой BLL, пожалуйста, не стесняйтесь предлагать помощь и в этой области.

Обновление (дополнительная информация по запросу):

Я пытаюсь создать приложение для автоматизации библиотеки. этоне сеть основана в настоящее время.

Я думаю о следующих слоях:

Проект, состоящий из сгенерированных классов POCO (BookInfo, Автор, Член, Издатель, Контакт и т. Д.)Проект с классом, производным от ObjectContext (DAL?)Уровень бизнес-логики с классами, подобными тем, что я упоминал выше (BooksBLL, AuthorsBLL и т. Д.)Уровень пользовательского интерфейса WPF с использованием шаблона MVVM. (Отсюда и мой подвопрос о реализации IDataErrorInfo).

Так что мне интересно о таких вещах, как использование экземпляраBooksBLL в классе ViewModel, вызываяResolveSearch() на нем, чтобы получитьList<BookInfo> и представляя это ... то есть, используя классы POCO везде.

Или я должен иметь дополнительные классы, которые отражают классы POCO, выставленные из моего BLL?

Если вам нужна дополнительная информация, пожалуйста, спросите.

Ответы на вопрос(3)

Ваш ответ на вопрос