Могу ли я использовать ADO.NET Entity Framework с существующей моделью? - PullRequest
1 голос
/ 25 мая 2009

У меня есть существующая модель для моего проекта. Я хотел бы перейти на Entity Framework, но не хочу заменять свою модель моделью, сгенерированной из EF.

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

Существует ли какой-либо способ иметь существующий домен, существующую базу данных и использовать EF только для добавления методов в мой домен для включения слоя O / RM?

Ответы [ 2 ]

1 голос
/ 25 мая 2009

Вы можете загрузить бета-версию Entity Framework, если вы являетесь подписчиком MSDN. Он поддерживает объект POCO, на который вы ссылаетесь, и за который EF 1.0 подвергся жесткой критике.

Команда разработчиков ADO.NET недавно опубликовала @ POCO в Entity Framework: Часть 1. Опыт , который поможет вам правильно начать работу.

Из моего опыта использования EFPocoAdapter (предшественника EF 4.0) я рад предложить EF 4.0.

Вы также получаете поддержку некоторых классных n-уровневых сценариев, что означает, что вы можете передавать свои объекты в другой слой, который может изменять и возвращать их, и вы все равно можете сохранять их в базе данных. А другим слоям не нужно ничего знать о структуре сущностей, поэтому вы получаете четкое разделение интересов.

1 голос
/ 25 мая 2009

В .NET 3.5SP1, тогда ответ - большое жирное «нет», боюсь. В .NET 4.0 история выглядит более многообещающей, с введенной поддержкой POCO (которая, надеюсь, позволит вам использовать ваши собственные объекты, хотя я еще не пробовал ее в общедоступной бета-версии).

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

На данный момент, возможно, NHibernate (и аналогичный) является вашим лучшим выбором.

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