【发布时间】:2014-08-12 16:49:18
【问题描述】:
我正在使用 VS 2012。我使用 Nuget 安装了 EntityFramework(版本 6.1.1),并添加了对 System.Data 和 System.Data.Entity 的引用,但是当我在解决方案中打开一个新类并引用DbContext,它说:
"找不到类型或命名空间名称“DbContext”(您是 缺少 using 指令或程序集引用?)"
这很奇怪,因为 DbContext 是绿色的,就像每个公认的类一样,当我按 F12 查看 DbContext 类时,它会将我带到应有的 System.Data.Entity.DbContext 类。
public DbContext MyContex { get; set; }
DbSet 也一样
public DbSet<TEntity> MySet { get; set; }
我还缺少什么?
【问题讨论】:
-
这听起来可能很愚蠢,但请尝试清理您的解决方案并重建它,甚至重新启动 VS。你永远不知道。
-
这是您唯一的编译器错误吗?如果还有其他错误,请先尝试处理,看看是否还有这个错误。
-
另外,你说你有 System.Data 和 System.Data.Entity - 看起来最新的 EntityFramework NuGet 包应该包括 EntityFramework.dll,而不是 System.Data.Entity.dll。您可能需要清理引用并再次拉取 NuGet 包。
-
EF6 添加了一些重大更改。它现在完全带外并包含在 EntityFramework 程序集中。你不应该再使用 System.Data.Entity 了。
-
Yorye Nathan——一点也不傻,我试过了,但还是不行。 Joe Enos- 没有其他错误,只有这两个和另一个相关的“MyClass
.DbContext' 是一个'属性',但用作'类型'”。 Joe Enos \ Dismissile- 当我删除 Data 和 Data.Entity 时,根本无法识别这些类。
标签: c# entity-framework visual-studio-2012