【问题标题】:SqlQuery(): A member of the type, 'id', does not have a corresponding column in the data reader with the same nameSqlQuery():类型的成员,'id',在数据读取器中没有对应的同名列
【发布时间】:2016-12-25 22:13:45
【问题描述】:

错误:

数据读取器与指定的不兼容 '[表名]'。类型的成员“id”确实 数据读取器中没有同名的对应列。

你好,

我正在使用.SqlQuery() 执行 SQL 查询。当我执行常规SELECT * 时,该语句执行得很好。但是当我添加一个Group By 子句时,我收到了上述错误。我不明白这是什么意思。我在表中有一个 ID 列。这是两条 SQL 语句:

作品

SELECT TOP 100 * FROM <table name>

抛出错误

SELECT YEAR(VisitDate) FROM <table name> GROUP BY YEAR(VisitDate)

这是该表的实体模式:

【问题讨论】:

  • 您的 EDMX 中有 ID;你的表里真的有同样的东西吗?一个快速的建议是从 EDMX 中删除此表并重新添加
  • groupby 语句只返回YEAR(VisitDate),也是一个未命名的列。结果列应按名称和类型匹配实体模型中的所有属性。

标签: asp.net sql-server entity-framework asp.net-mvc-3


【解决方案1】:

您的EDMX 看起来与您的实际表不同步。尝试执行以下步骤:

  1. 打开EDMX
  2. 在白色区域右击并点击Update Model from Database...
  3. 选择刷新标签
  4. 展开表格;选择要更新的表
  5. 点击完成

  1. 打开EDMX
  2. 右击出现错误的表,点击从模型中删除
  3. 在白色区域右击,点击Update Model from Database...
  4. 添加标签下,选择您删除的表格
  5. 点击完成

【讨论】:

    猜你喜欢
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多