数据读取器与指定的...不兼容类型的成员“Finalized”在数据读取器中没有相应的列

时间:2012-05-29 10:52:37

标签: visual-studio-2010 sql-server-2008 entity-framework model entity

我在我的Sql Server Db中添加了一列,然后在VS i中从数据库更新模型,有一个模板自动生成一些代码。

代码编译正常,但是当我尝试访问数据库时,会发生以下错误:

  

数据阅读器与指定的内容不兼容   'CompassModel.tbSalesContract'。 “Finalized”类型的成员,   在数据读取器中没有相应的列具有相同的列   名。

Finalized是我添加到我的数据库中的新列。

有没有人知道如何追踪这一点,如果有的话,是否有一个修复或方法可以遵循以避免将来使用?

3 个答案:

答案 0 :(得分:5)

如果您正在使用SP,则在该Or中更新新添加的列。如果您使用内联查询,请输入新添加列的确切名称。您正在谈论的模板不包含新添加的列名称。尝试编辑模板..问题将得到解决。

答案 1 :(得分:0)

如果您使用SP,请确保使用别名...即。例如:它应该写成

fieldname as'aliasname'

感谢, criss thomas

答案 2 :(得分:0)

希望这可以帮助某人,但是当我收到此错误时,我试图从存储过程中返回实体类型。

要解决此问题,我必须添加正确的函数导入映射。在您的edmx中,转到Model Browser视图并导航到Funtion Imports。右键单击您的sproc名称并选择函数导入映射。在那里,您可以将您的sproc返回结果映射到相应的实体属性。