如果您使用的是自2018年5月7日起可用的EF Core 2.1 Release Candidate 1,则可以利用建议的新功能(查询类型)。
什么是查询类型?
除实体类型外,EF Core模型还可包含查询类型,该查询类型可用于对未映射到实体类型的数据执行数据库查询。
什么时候使用查询类型?
用作临时FromSql()查询的返回类型。
映射到数据库视图。
映射到未定义主键的表。
映射到模型中定义的查询。
因此,您不再需要进行建议作为问题答案的所有技巧或变通方法。只需按照以下步骤 *** 作:
首先,您定义一个新的type属性,
DbQuery<T>其中
Ttype是将携带SQL查询的列值的类的类型。因此,您
DbContext将拥有:
public DbQuery<SomeModel> SomeModels { get; set; }
其次,使用
FromSql与您类似的方法
DbSet<T>:
var result = context.SomeModels.FromSql("SQL_script").ToList();var result = await context.SomeModels.FromSql("SQL_script").ToListAsync();
还要注意,DBContext是局部类,因此您可以创建一个或多个单独的文件来组织“ raw SQL DbQuery”定义,以使其最适合您。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)