EntityFramework.dll против System.Data.Entity.dll - неоднозначность - PullRequest
13 голосов
/ 26 октября 2011

Интересно, что общего между EntityFramework.dll и System.Data.Entity.dll и чем они отличаются?Мой проект ссылается на System.Data.Entity.dll (июньская CTP), чтобы использовать код первой модели, и все работает отлично.

Теперь я хочу использовать инструмент Code First Migrations, и он требует EntityFramework.dll, который я также должен добавить в свой проект.Однако при обращении к обеим библиотекам (EntityFramework.dll и System.Data.Entity.dll) я получаю много ошибок компилятора, утверждая, что некоторые классифицированные определены в обеих библиотеках.

Когда я удаляю EntityFramework.dll, проект снова компилируется, но я не могу использовать Миграции.Когда упоминается только EntityFramework.dll, я получаю ошибки компилятора, говорящие мне, что некоторые классы не найдены (например, тип данных Spatial).

Что мне делать в этой ситуации?Заранее спасибо!

1 Ответ

16 голосов
/ 26 октября 2011

System.Data.Entity.dll версия "4.2.0.0" (июньская версия CTP 2011) содержит все, начиная с EFv4.0 и EFv4.1 = и ObjectContext API, и DbContext API + новые функции, но это, вероятно, единственная версия для долгое время, которое будет объединять эти два API в одной сборке. Этот ОСАГО мертв. Новые основные функции будут перенесены в .NET 4.5, а DbContext API все еще будет поставляться в виде отдельного пакета NuGet, содержащего EntityFramework.dll. Здесь все описано .

Миграции кода зависят от EFv4.1 Update 1 и его EntityFramework.dll. Они несовместимы с июньской CTP, и это прямо описано в их примечаниях по установке или предварительных условиях = их нельзя использовать с июньской CTP.

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