栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

没有DbSet的原始SQL查询-实体框架核心

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

没有DbSet的原始SQL查询-实体框架核心

如果您使用的是自2018年5月7日起可用的EF Core 2.1 Release Candidate 1,则可以利用建议的新功能(查询类型)。

什么是查询类型?

除实体类型外,EF Core模型还可包含查询类型,该查询类型可用于对未映射到实体类型的数据执行数据库查询。

什么时候使用查询类型?

用作临时FromSql()查询的返回类型。

映射到数据库视图。

映射到未定义主键的表。

映射到模型中定义的查询。

因此,您不再需要进行建议作为问题答案的所有技巧或变通方法。只需按照以下步骤操作:

首先,您定义一个新的type属性,

DbQuery<T>
其中
T
type是将携带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”定义,以使其最适合您。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470693.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号