【发布时间】: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