Entity Framework Создание объектов POCO - PullRequest
1 голос
/ 19 июля 2011

мы в настоящее время используем EF 4.1 и думаем о новой альтернативе для нашей объектной модели, которая ужасна.У нас есть POCO в некотором роде BL-слоя и выше GUI-модели с объектами, обертывающими POCO, чтобы предлагать BindingLists для пользовательского интерфейса вместо IEnumerables BL.

Мы думали о выводе пользовательской модели изPOCO, но я понятия не имею, как это будет работать с EF, создающим экземпляры объектов, поскольку он не должен ничего знать об объектах пользовательского интерфейса.Есть ли какой-нибудь способ перенести процесс создания экземпляра на фабрики, или у кого-то есть идея, как впоследствии продвигать объект от базового к производному типу (что на самом деле не очень хорошая идея, правда?)

Любая помощь, предложения или комментарии будут высоко оценены.

С уважением Gope

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Введение поддержки POCO в EF4 состояло в том, чтобы позволить бизнес-объектам существовать без расширения объектов в EF (в частности, EntityObject). Сейчас я работал над несколькими системами, в которых модель предметной области является общей для всех слоев системы, а шаблоны хранилища используются для обработки постоянства объектов. Несколько команд используют концепцию объектов передачи данных (DTO) для предоставления пользовательскому интерфейсу облегченного объекта, с которым пользовательский интерфейс может работать (что также обеспечивает определенную степень абстракции BLL от пользовательского интерфейса).

Microsoft Испания недавно опубликовала документ и образец приложения, в котором рассказывается о том, как структурировать корпоративные приложения (http://microsoftnlayerapp.codeplex.com/), что может дать вам некоторые идеи о том, как лучше структурировать вещи.

0 голосов
/ 19 июля 2011

Нет, перемещение объекта на фабрики невозможно. Из-за этого получение пользовательских классов из ваших сущностей не будет работать, потому что EF не будет создавать эти экземпляры для вас, и вы также не сможете сохранить эти экземпляры, потому что EF не будет знать, как их отобразить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...