Entity Framework - сначала в модели, как мне получить классы EF на основе существующих классов доменов, которые у меня есть? - PullRequest
2 голосов
/ 17 мая 2010

Если у меня уже есть классы доменов, и я хочу иметь возможность сохранять их с помощью EF с помощью подхода сначала модели, как мне это сделать?

Например, перейти к конструктору EF (в VS2010) и создать модель и сгенерировать классы, затем перейти к этим классам EF и каким-то образом вручную изменить их? Но тогда возникнет ли проблема, если мне потребуется изменить модель и заново создать базу данных TSQL из модели для обновлений?

Какой самый простой подход?

РЕДАКТИРОВАТЬ - В моем случае у меня есть несколько базовых классов, которые выполняют навигацию по графу - я надеялся, что смогу оставить (а) свои процедуры обхода графа в сборке бизнес-логики, например, NodeBase, RelationshipBase и т. Д., А затем (b) имеют мое сопротивление EF в отдельной сборке EF. Любой совет по этому конкретному сценарию у меня есть?

РЕДАКТИРОВАТЬ 2 - На самом деле я отмечаю, что я отмечаю следующие опции шаблона из "Добавить элемент генерации кода .."

  1. Шаблон генератора сущностей ADO.NET C # POCO - онлайн
  2. ADO.NET Само-отслеживающий генератор объектов - Локальный
  3. ADO.NET Entity Object Generator

Я предполагаю, что # 3 - это значение по умолчанию, которое поставляется с VS2010. Кто-нибудь через # 1 и # 2, и что может быть лучше, чтобы помочь в моей цели? то есть имея существующий набор классов доменов с методами, которые уже наследуются от других классов (т. е. с текущими классами сущностей, сгенерированными EF, они, похоже, уже должны наследовать от EntityObject)

1 Ответ

1 голос
/ 17 мая 2010

Все сгенерированные классы являются частичными. Поэтому, если у вас одно и то же пространство имен и одинаковые имена сущностей / классов, довольно легко объединить существующий набор классов с набором сущностей первого образца. Просто поместите частичное в ваш класс и удалите все свойства, которые реализованы сгенерированным кодом Entity Framework.

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