【发布时间】:2013-07-16 18:26:04
【问题描述】:
我正在尝试使用以下 SQL 查询从我的数据库中获取前两列数据:
SELECT Id, DomainUrl
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY Id ) AS RowNum, Id, DomainUrl
FROM SiteDatas
) AS RowConstrainedResult
WHERE RowNum >= 1
AND RowNum <= 10
ORDER BY RowNum
我正在使用实体框架并为行传递参数,以便以后可以通过 ajax 将其用作加载功能的滚动。但是,当我到达线路时出现错误:
var stores = db.SiteDatas.SqlQuery(SQL, parameters).ToList();
这是一个实体命令执行异常,表明数据读取器与类型的指定模型(我的数据库)成员不兼容,“机器人”(这是我调用的那个之后的下一列),不在数据阅读器中有一个对应的同名列。
我将如何以可以序列化为 json 的方式仅获取前两列?
【问题讨论】:
-
SiteDatas 是否包含机器人列?因为查询不
-
确实如此,但我不希望结果是这样
-
您可以在选择查询中添加
NULL AS Robots以始终将其返回为空? -
还有很多其他列,将它们全部归零真的是最好的方法吗?
-
也许您可以基于此查询创建一个仅包含所需列的新类?
标签: c# sql entity-framework