EntityFramework.dll与System.Data.Entity.dll - 歧义

Ale*_*tin 13 .net entity-framework ef-code-first

我想知道EntityFramework.dll和System.Data.Entity.dll有什么共同点,它们有什么不同?我的项目引用System.Data.Entity.dll(June CTP)来利用代码优先模型,一切正常.

现在我希望使用Code First Migrations工具,它需要EntityFramework.dll,我还必须添加到我的项目中.但是,当引用这两个库(EntityFramework.dll和System.Data.Entity.dll)时,我会遇到很多编译器错误,认为在两个库中都定义了一些类.

当我删除EntityFramework.dll时,项目再次编译,但我无法使用迁移.当只引用EntityFramework.dll时,我得到编译器错误,告诉我找不到某些类(例如Spatial数据类型).

在这种情况下我该怎么办?先感谢您!

Lad*_*nka 16

System.Data.Entity.dll版本"4.2.0.0"(June CTP 2011)包含EFv4.0和EFv4.1 = ObjectContext API和DbContext API +新功能的所有功能,但它可能是很长一段时间内唯一的版本将这两个API组合在同一个程序集中.这个CTP已经死了.新的核心功能将移至.NET 4.5,DbContext API仍将作为包含EntityFramework.dll的单独NuGet包提供.这里描述一切.

代码迁移依赖于EFv4.1 Update 1及其EntityFramework.dll.它们与June CTP不兼容,它在安装说明或先决条件中直接描述=您不能将它们与June CTP一起使用.