【问题标题】:The data reader is incompatible with the specified on EF 6数据阅读器与 EF 6 上指定的不兼容
【发布时间】:2015-07-08 23:58:58
【问题描述】:

我正在尝试看看是否有人知道我为什么会收到此错误:

数据读取器与指定的不兼容 'model.getCoursesForCalendar_Result'。类型的成员, 'edutaskid',在数据阅读器中没有对应的列 同名。

我有一个要添加到 EF 6 的存储过程,它具有返回不同数据的 If 语句,但在 If 分支的两端它返回相同数量的列,我一直在谷歌搜索,每个人似乎有点同意返回的列可能不一样,但在我的情况下它不适用,我还尝试将用作 Id 的列更改为不可为空,因为 EF 自动将其设为可空,但仍然没有运气,奇怪的是我几乎注释了所有代码并让我的存储过程像这样简单:

 SELECT 1 AS edutaskid, 
                 '1' AS title, 
                 't' AS fromdate, 
                 't' AS thrudate 
                 FROM edutaskoffer

并且仍然得到错误,但如果我这样离开它:

SELECT 1 AS edutaskid, 
                     '1' AS title, 
                     't' AS fromdate, 
                     't' AS thrudate 

我没有收到错误,唯一的区别是我不再查询表并且它现在只返回一行,所以我认为这可能与行相关,所以我创建了一个相同的临时表列并插入两行并选择了这些行,我确实得到了两行:

DECLARE @CalendarCoursesTable TABLE
      (
         edutaskId INT NOT NULL,
         title     VARCHAR(150),
         fromdate  VARCHAR(150), 
         thrudate  VARCHAR(150)
      );

INSERT INTO @CalendarCoursesTable
          (edutaskId,
                 title,
                 fromdate,
                 thrudate)
          VALUES (1,'1','t','t');

          INSERT INTO @CalendarCoursesTable
          (edutaskId,
                 title,
                 fromdate,
                 thrudate)
          VALUES (2,'2','U','U');

          SELECT edutaskId,
                 title,
                 fromdate,
                 thrudate
          FROM @CalendarCoursesTable;

在前面的示例中,我没有收到错误,唯一的问题是当我使用我在数据库上实际创建的表时。我也关注了这个链接提到的内容:The data reader is incompatible with the specified class,但我的列映射是正确的:image

任何人都知道可能是什么问题?

【问题讨论】:

  • 您显示的第一个查询不是有效的 SQL。
  • 抱歉,忘记删除了

标签: sql-server entity-framework


【解决方案1】:

您是否尝试过类似的方法:

SELECT cast(1 as int) AS edutaskid, 
             '1' AS title, 
             't' AS fromdate, 
             't' AS thrudate 
             FROM edutaskoffer

【讨论】:

    【解决方案2】:

    我发现了问题,我在数据库中使用的用户没有权限从另一个数据库中读取这些表,错误隐藏在存储过程中并且没有返回到 EF 所以在最后在 EF 中它没有找到任何要映射的列并导致该错误。

    【讨论】:

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