Ef Core花里胡哨系列(11) ef8 无实体查询,你好!
EF7
引入了返回标量类型的原始 SQL
查询。 这在 EF8
中得到了增强,包括返回任何可映射 CLR
类型的原始 SQL
查询,而无需在 EF
模型中包括该类型。
使用非映射类型的查询是使用 SqlQuery
或 SqlQueryRaw
执行的。 前者使用字符串内插来参数化查询,这有助于确保所有非常量值都被参数化。
var result = _dbContext.Database.SqlQuery<Blog>($"select * from {
typeof(Blog).Name}").ToList();
非常振奋人心的是,SqlQuery
的得到的结果是一个IQueryable
,也就是说,可以无缝对接Linq
!
所以你可以这样,在Sql
中直接写上你的条件: