【问题标题】:EntityFramework.dll vs System.Data.Entity.dll -- ambiguityEntityFramework.dll vs System.Data.Entity.dll - 歧义
【发布时间】:2011-12-15 07:28:50
【问题描述】:

我想知道 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 时,我收到编译器错误,告诉我找不到某些类(例如空间数据类型)。

在这种情况下我该怎么办?提前谢谢!

【问题讨论】:

    标签: .net entity-framework ef-code-first


    【解决方案1】:

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

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

    【讨论】:

    • 很好的解释,当我添加 EF 4.3 时,它只添加了 EF dll,而 entity.dll 没有得到升级。那么我可以使用新功能吗?该项目在没有 EF.dll 的情况下编译
    • 如果项目在没有EntityFramework.dll的情况下编译,则意味着它不使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    相关资源
    最近更新 更多