我必须从数据库中选择多个列,但我没有匹配的实体。所以我的查询看起来像这样:
var result = _dbContext.Database.SqlQuery<List<string>>( "select ID, NAME, DB_FIELD from eis_hierarchy");
我得到的结果集,每行包含字符串列表,但计数为0。那么如何使用Database.SqlQuery选择多个列呢?
Database.SqlQuery
anauzrmj1#
您必须将结果捕获到具有匹配属性名称的类中,并且(至少)具有无参数构造函数:
class DbResult { public int ID { get; set; } public string NAME { get; set; } public string DB_FIELD { get; set; } } var result = _dbContext.Database.SqlQuery<DbResult>( "select ID, NAME, DB_FIELD from eis_hierarchy");
vc6uscn92#
使用C#版本高于6,也可以这样写:
var result = _dbContext.Database. SqlQuery<(int ID, string NAME, string DB_FIELD)>("select ID, NAME, DB_FIELD from eis_hierarchy");
2条答案
按热度按时间anauzrmj1#
您必须将结果捕获到具有匹配属性名称的类中,并且(至少)具有无参数构造函数:
vc6uscn92#
使用C#版本高于6,也可以这样写: