实体框架原始SQL查询

vij*_*mar 19 .net c# entity-framework

我必须从数据库中选择多个列,但我没有匹配的实体.所以我的查询看起来像这样:

var result = _dbContext.Database.SqlQuery<List<string>>(
             "select ID, NAME, DB_FIELD from eis_hierarchy");
Run Code Online (Sandbox Code Playgroud)

我得到结果集,每行包含字符串列表但count为0.

那么如何使用Database.SqlQuery?选择多个列?

Ger*_*old 45

您必须将结果捕获到具有匹配属性名称的类中,并且(至少)是无参数构造函数:

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");
Run Code Online (Sandbox Code Playgroud)

  • 可能使用别名:`从表`中选择[unallocated space] AS unallocated_space. (2认同)