随笔分类 - LINQ to Entities
摘要://安装 Z.EntityFramework.Extensions.EFCoreusing Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using
阅读全文
摘要://LINQ: var temp = from p in db.jj_Credentials group p by p.ProfessionID into g select new { g.Key, MaxPrice = g.Max(p => p.CredentialsRankID) }; //EF
阅读全文
摘要:在EF里面,使用IQueryable和IEnumerable可以延迟加载 list.Select() 改为: list.AsEnumerable().Select
阅读全文
摘要:var list = from a in context.Set() join b in context.Set() on a.Id equals b.Id into ab from abi in ab.Defa...
阅读全文
摘要:var listb= ListA.Where(x => x.Id.Equals(obj.Id)).Select(x => x.SubData).Aggregate((x, y) => x.Concat(y).Distinct().ToList()).ToList();
阅读全文
摘要:数据源: 代码: 结果:
阅读全文
摘要:数据源: 1.无into,相当于 inner join 结果: 2.有 into,类似于 left join,注意,返回了主表多条对应的数据 结果:
阅读全文
摘要:数据: GroupJoin: 返回左表所有数据 结果: Join:返回交集 结果:
阅读全文
摘要:在sql中,如果有group by,那么select的字段只能包含分组内容,或者count、sum、avg这些统计字段。 但在linq里面,是:group 你想要什么字段 by 分组字段 比如: 实际应用中,多表多字段参与分组比较常见:
阅读全文
摘要:解决方法是分两次查询。 报错的原因是在涉及到内存中的对象与EF里的对象混合查询时,内存中的对象要是基元类型。 第一次查询实际上会因为EF的延时加载,不会立即将数据查询到内存中。 解决方法是对第一次查询使用ToList()
阅读全文
摘要:LINQ 提供了两个布尔方法:Any()和All(),它们可以快速确定对于数据而言,某个条件是true还是false。因此很容易地找到数据。bool bo=IntResult.Any(n=>n>100); //是否有数据>100bool bo=IntResult.All(n=>n>100);//是否
阅读全文
摘要:1 /* 2 以下围绕Person类实现,Person类只有Name和Age两个属性 3 一.List排序 4 1.1 List提供了很多排序方法,sort(),Orderby(),OrderByDescending(). 5 */ 6 7 lstPerson = lstPerson.OrderByDescending(x=>x.Name).ToList(); /...
阅读全文
摘要:投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素。 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象。 投影方法有 Select 和 SelectMany。 筛选指限制结果集包含与指定的条件匹配的元素的操作。 筛选方法为 Wh
阅读全文
摘要:1.投影: Select 与 SelectMany SelectMany操作符提供了将多个from子句组合起来的功能,相当于数据库中的多表连接查询,它将每个对象的结果合并成单个序列。 与 select 不同 的是selectmany返回的是一个序列. selectmany与select 不同的是它会
阅读全文