EF7 beta8 FromSQL
本文关键字:FromSQL beta8 EF7 | 更新日期: 2023-09-27 18:22:02
对于EF7 FromSQL解析sql查询,获取实体列表。
var accounts = _context.Set<Account>().FromSql("SELECT TOP 10 * FROM Account WITH
(NOLOCK)").ToList();
上面的内容将返回实体列表,但要满足特定条件。
var report = _context.Set<AccountReport>().FromSql("SELECT a.Id, a.Username, p.Item,
p.Quantity FROM Account AS a WITH (NOLOCK) INNER JOIN Purchase AS p WITH (NOLOCK) ON
p.AccountId = a.Id WHERE p.CreatedOn BETWEEN '2015-11-01' AND '2015-12-01').ToList();
模型"AccountReport"不是实体模型,它将遇到此错误消息。
错误:
EntityFramework.Core.dll中出现Microsoft.Data.Entity.Metadata.ModelItemNotFoundException,但未在用户代码中处理
其他信息:找不到实体类型"AccountReport"。请确保已将实体类型添加到模型中。
当您尝试获取未绑定到DBSet的数据时,这应该会有所帮助。
EF7获取动态数据,不绑定到DBSet
另一种方法是像这里一样编写LINQ
Linq在EF7 中获取动态数据
在select查询中,您必须选择AccountReport的所有不可为null的列,因为select查询已分配给实体AccountReport。