我正在查看一些 EF 示例并试图破译在执行 LINQ to Entities 或 EntitySQL 时“查询投影”究竟等同于什么。我相信这是当查询结果被过滤并投影到匿名类型但不是 100% 确定时。
有人可以定义这个并提供一个使用它的示例的小型 L2E 查询吗?
最佳答案
投影是指将查询结果输出到与查询的类型不同的类型。 Another article将其定义为:转换查询结果的过程
投影可以是匿名类型,也可以是具体类型。如果您来自 SQL 世界,它类似于您的 SELECT
中列出的列。条款。
将对象的子集选择为具体类型的示例:
ParentObj.Select(x=> new ParentSlim { ParentID = x.ParentID, Name = x.Name } );
.
将对象合并为第三个匿名类型的示例:
注:
select new
部分是投影。from P in ParentObj.AsQueryable()
join C in ChildObj.AsQueryable() on P.ParentID == C.ParentID
select new { // <-- look ma, i'm projecting!
ParentID = P.ParentID,
Name = P.Name,
SubName = C.Name
RandomDate = DateTime.UtcNow()
}
关于entity-framework - Entity Framework 中的查询投影是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857655/