我在DataBase
中找不到System.Data.Entity
。
任何人都知道为什么?
谢谢。
答案 0 :(得分:22)
您无需导入System.Data.Entity.Database
。 System.Data.Entity
就够了。
使用Database.SetInitializer
代替DbDatabase.SetInitializer
。
如果您错过了它,该类称为数据库而没有“Db”
答案 1 :(得分:8)
您需要引用EntityFramework.dll
程序集,该程序集是声明Database类的位置。您可以从相应的NuGet package安装它。
答案 2 :(得分:3)
我有同样的问题。 Daz和Darin的回答给了我一些线索。
在CTP中,类名称在System.Data.Entity.Database命名空间中称为“DbDatabase”。
但在我的EF 4.1版本中,该类名为“Database”,位于System.Data.Entity中。 System.Data.Entity.Database命名空间至少在EF4.1中消失了
答案 3 :(得分:1)
猜测,您已从Enterprise Library 4 CTP5升级到Enterprise Library 4.1。
命名空间稍有改动,现在您将在不同的命名空间中找到所需的类。如Kasper Skov在此处的回答所示,DbDatabase
班级现在位于System.Data.Entity
,并重命名为Database
。
我还没有找到IConfigurationConvention移动到的地方,因为System.Data.Entity.ModelConfiguration.Conventions.Configuration
是另一个已失效的命名空间。
答案 4 :(得分:0)
在我的版本上,Entity Framework 4.1.10715.0',System.Data.Entity.Database
是命名空间而不是类。 DbDatabase
是该命名空间中的一个类,它包含SeInitializer
方法。当我读到的所有内容与此相矛盾时,PITA会发现什么。
我必须使用以下内容来获取Steven Sanderson演示版以重新制作我的数据库。
System.Data.Entity.Database.DbDatabase.SetInitializer(
new System.Data.Entity.Database.DropCreateDatabaseIfModelChanges<Mvc3ScaffoldDemo.Models.Mvc3ScaffoldDemoContext>());
答案 5 :(得分:0)
只需更新您的实体框架,只需右键单击解决方案并选择&#34;管理NuGet包&#34;并使用&#34; EntityFramework&#34;进行搜索。安装最新版本(6.1.3或)或使用&#34; NuGet包控制台&#34; enter image description here