实体框架Sql Azure映射错误

时间:2016-11-06 17:34:20

标签: asp.net entity-framework-6 azure-sql-database

设定:

Asp.NET Web Api 2(在Azure云服务中运行,3个实例),Entity Framework 6.1和Sql Azure

问题

我的应用程序开始突然报告了大量奇怪的错误。

当使用EF从数据库中获取实体时,会报告这些类型的错误:

“'{TableName}'上的'{PropertyName}'属性无法设置为'System.String'值。您必须将此属性设置为类型为'System.Int64'的非空值”< / p>

并且

“'{TableName}'上的'{PropertyName}'属性无法设置为'System.Int64'值。您必须将此属性设置为'System.String'类型的非null值。”

我的解释是,与我正在尝试映射的数据库相比,数据库返回了不匹配的对象,但我看不出为什么会在数百万个请求运行得很好之后才会开始发生这种情况

在我写这篇文章时,我重新启动了api实例,现在错误消失了。

任何帮助解决这个问题都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

原来可能的原因是工作单元格设置错误。自我注意:不要创建新的dbcontext来替换正在使用的dbcontext:)