在SQL Express上使用ASP.NET MVC,实体框架6代码优先在本地计算机上运行正常。当我发布到Windows Azure时,事情开始崩溃。默认的MVC页面显示正常。我认为数据是正确的,因为我可以将Azure数据库与我的本地SQL Express进行比较,除了__MigrationHistory中的几个记录外,一切都是相同的。这是一个新的应用程序,因此我不认为从以前版本的EF转换的其他SO问题适用。
当我尝试访问查询数据库的页面时,当我将Visual Studio调试器附加到Azure网站时,我得到以下异常。它在第一次调用dbContext.SingleOrDefault时失败。请注意,我可以在调试器暂停时看到dbContext的完整数据。
System.Data.SqlClient.SqlException occurred
_HResult=-2146232060
_message=Invalid column name 'CreatedOn'.
HResult=-2146232060
IsTransient=false
Message=Invalid column name 'CreatedOn'.
Source=.Net SqlClient Data Provider
ErrorCode=-2146232060
_doNotReconnect=false
Class=16
LineNumber=2
Number=207
Procedure=""
Server=tcp:*.database.windows.net,1433
State=1
StackTrace:
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
InnerException:
非常感谢任何帮助。
答案 0 :(得分:0)
这似乎与迁移和删除CreatedOn列有关。
我使用MiniProfiler获得此异常。我从bin文件夹中删除了pdb文件(如MiniProfiler github网站上的帖子所示),它不再发生。
您可能想要检查对EF的引用,因为它可能是针对早期版本的EF构建的[nuget]包中的引用。