列名称无效' CreatedOn'在Windows Azure上使用EntityFramework

时间:2014-09-25 21:35:46

标签: entity-framework azure azure-sql-database

在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: 

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这似乎与迁移和删除CreatedOn列有关。

我使用MiniProfiler获得此异常。我从bin文件夹中删除了pdb文件(如MiniProfiler github网站上的帖子所示),它不再发生。

您可能想要检查对EF的引用,因为它可能是针对早期版本的EF构建的[nuget]包中的引用。