2009-05-25 4 views
1

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

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

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

ответ

1

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

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

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

1

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

Команда разработчиков ADO.NET недавно опубликовала сообщение @POCO in the Entity Framework: Part 1 - The Experience, которое поможет вам в правильном направлении.

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

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

Смежные вопросы