【发布时间】:2013-04-16 15:10:55
【问题描述】:
最近我在我的一张表中添加了标识列:
this.Property(t => t.GatewayId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
我试过这个答案:https://stackoverflow.com/a/10552444/942637。 但是当我浏览我的网站时仍然出现以下错误:
Compiler Error Message: CS0433: The type
'System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption' exists in both
'c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\09b33b19\15db599\assembly\dl3\626c4b05\eddd55c2_9c3ace01\EntityFramework.DLL'
and
'c:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll'
我使用的是 .NET 4 和 EF 5。当然我的项目是指 EF 4.4,因为 .NET 4 支持的最新版本是 EF 4.4。 我的网站在没有上述线路的情况下也能正常工作。
【问题讨论】:
-
您是否安装了 .NET 4.5?你在使用 VS 2012 吗?
-
@LadislavMrnka:我使用的是 VS2012 和 .NET 4.0。另外,我安装了 .NET 4.5。
-
@RameshRajendran:我的项目编译没有任何错误,但是当我运行它时,它给了我错误。此外,在您提到的链接中,它说.NET 4.0 中不存在。我的错误说它存在但在两个程序集中。但我尝试了该链接中的解决方案(重新安装 EF)并且它有效。我尝试通过 NUGET 卸载并重新安装 EF,但没有成功。
-
找到任何解决方案吗?我的解决方案在 TeamCity 上构建时遇到问题,在 Visual Studio 或 IIS Express 中本地编译和运行时没有问题。