【发布时间】:2013-10-18 07:01:09
【问题描述】:
我阅读了有关使用实体框架查询数据库的信息
var result = _dbContext.SqlQuery<string>(sql, someParamSqlParameter).ToList();
如果我想要返回多个列,我该如何编写这种类型的查询。 我试过这段代码,但它给出了一些 sql 模式映射错误
var result = clsGlobalObjectRefrances.SchoolSoulController.Stt.Database.SqlQuery<LocalAccGroups>(sqlQuery).ToList();
var sqlQuery = "Select GroupId,GroupName,Level from cte_AccGroups";
LocalAccGroups 是我创建的一个类
class LocalAccGroups
{
public decimal GroupId { get; set; }
public string GroupName { get; set; }
int Level { get; set; }
}
提前谢谢xxx
【问题讨论】:
-
您的查询返回的列是什么?如果它返回 Level,那么您应该在您的班级中将其标记为
public -
在数据库中发布您的查询和表的定义非常重要。您的查询返回的列名和类型需要与您将它们反序列化到的对象相同。
-
为什么你不只是尝试做 var result = _dbContext.SqlQuery
(sql, someParamSqlParameter).ToList(); !? -
好的,等一下,我正在编辑我的问题并给出我使用的查询
-
@Habib DBContext.SqlQuery 和 Database.SqlQuery 有什么不同吗?
标签: c# sql database entity-framework querying