【问题标题】:The data reader is incompatible with the specified... A member of the type, 'Finalised', does not have a corresponding column in the data reader数据读取器与指定的不兼容...类型的成员“已完成”在数据读取器中没有对应的列
【发布时间】:2016-01-29 09:28:50
【问题描述】:

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

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

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

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

有谁知道如何追踪这一点,如果知道,是否有解决方法或方法可以避免将来避免?

【问题讨论】:

  • 您是否更新了 select 语句或存储过程以包含新列?
  • 您确定您的程序正在连接到您进行更改的同一数据库吗?
  • 在Sql server中我右击说设计,然后添加一列Finalised。
  • 你是调用存储过程还是使用内联SQL?
  • 不确定,已经给了这个项目,但是谢谢,我认为这可能是存储过程的问题谢谢 man +1

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


【解决方案1】:

如果您使用的是 SP,则更新新添加的列,或者如果您使用的是内联查询,则输入新添加列的确切名称。您所说的模板不包含新添加的列名..尝试编辑模板..问题将得到解决。

【讨论】:

    【解决方案2】:

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

    字段名作为“别名”

    谢谢, 克里斯托马斯

    【讨论】:

      【解决方案3】:

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

      为了解决这个问题,我必须添加正确的函数导入映射。在您的 edmx 中,转到模型浏览器视图并导航到函数导入。右键单击您的存储过程名称并选择函数导入映射。在那里,您可以将 sproc 返回结果映射到适当的实体属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-28
        • 2018-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多