• 2024-09-11【C#】LINQ操作实现 IEnumerable<T> 接口的集合
    IEnumerable<TSource> 接口详解IEnumerable<TSource> IEnumerable<TSource>是C#中的一个泛型接口,它定义了如何遍历一组对象。这个接口是.NETFramework中LINQ(LanguageIntegratedQuery)的基础之一,用于提供一种统一的方式来访问不同类型的集合。IEnumerable<TSource>
  • 2024-09-06C#一分钟浅谈:LINQ 查询表达式的使用技巧
    在C#开发中,LINQ(LanguageIntegratedQuery)是一项强大的功能,它允许开发者以接近自然语言的方式查询数据集合。LINQ不仅简化了数据操作,还提高了代码的可读性和可维护性。本文将从基础开始,逐步深入探讨LINQ查询表达式的使用技巧,并通过具体的代码示例帮助理解常见的问题及如何避免错误
  • 2024-08-31Linq表达式
    Linq是对集合操作的集中常见的操作例如Listlist=newList();list.Where(a=>a>10)list.Single(a=>a>10)表示有且只能有一个结果,如果没有或者很多个就会报错list.SingleOrDefault(a=>a>10)表示获取一个结果,如果没有的话会显示这个类型的默认值,如果多的话就会报错li
  • 2024-08-27EF架构~对不起Include,是我冤枉你了!
    EF架构~对不起Include,是我冤枉你了! 回到目录之前一起认为EF的延时加载存在性能问题,主要体现在一对多关系上,它会增加与数据库的通讯,而EF本身也提供了“立即加载”include,今天主要说一下它,经过实验,证明如下:最初接触EF延时加载时,以为只存在这种性能低下的方案,在了解include方法
  • 2024-08-27GroupBy与DistinctBy的区别和用法(System.Linq)
    GroupBy定义:对序列中的元素进行分组返回:一个分组的集合,每个分组包含满足相同条件的元素//Createalistofpets.List<Pet>pets=newList<Pet>{newPet{Name="Barley",Age=8},newPet{Name="Boots",Age=4},
  • 2024-08-21Linq Group by
    linq中groupby下面介绍Linq使用GroupBy的常见场景 1.简单形式: varq=frompindb.Productsgrouppbyp.CategoryIDintogselectg;语句描述:Linq使用GroupBy按CategoryID划分产品。说明:frompindb.Products表示从表中将产品
  • 2024-08-19C#基础:数据库中使用Linq作分组处理(反射/直接分组)
    目录一、使用反射分组二、不使用反射分组三、调用示例四、代码demo一、使用反射分组privatestaticList<GroupList<T>>GetGroupList<T>(List<T>entities,stringgroupByProperty){//获取分组字段的类型varpropertyInfo=typeof(T).GetProperty(groupBy
  • 2024-08-18linq 高级 规约
    LinqExpressionLearn\Linq\ParameterRebinder.csusingSystem.Linq.Expressions;///<summary>///表达式参数///</summary>publicclassParameterRebinder:ExpressionVisitor{///<summary>///参数字典///</summary>priv
  • 2024-08-16linq快速动态获取数据库表字段名称、类型、数据
     varbj="Bj";             varpbj=typeof(Xs_xx).GetProperty(bj);//获得班级属性      /*      varcxbj=fromaainsjklj.Xs_xx            lety=(string)pbj.GetValue(aa,null)//linq
  • 2024-07-26实现一个类似c#LINQ链式语法的观察者模式
    文章目录前言一、UniRx与LINQ的关系二、实现原理三、核心代码实现1.接口部分2.Disposable3.主题(事件源)4.操作符5.观察者6.操作符扩展使用示例1.带参数主题2.不带参数主题总结前言最近在学习UniRx的源码,其中链式语法的实现引起了我的兴趣,结合LINQ的实现原理,想要
  • 2024-07-17Win11系统提示找不到System.Data.Linq.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个System.Data.Linq.dll文件(挑选合适的版本文
  • 2024-07-16Linq的常用方法
    LINQ(LanguageIntegratedQuery)是.NETFramework中用于数据查询的组件,它将查询功能集成到C#等.NET语言中。LINQ提供了丰富的查询操作符,这些操作符可以应用于各种数据源,如内存中的集合、数据库、XML等。以下是一些LINQ的常用方法:目录1.基本查询方法2.元素选择与投影3.分
  • 2024-07-12Windows11系统System.Linq.Expressions.dll文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个System.Linq.Expressions.dll文件(挑选合适
  • 2024-07-06记一次.NET引用性能分析 - 客户说关联权限后查询不出数据
    背景:有客户说操作员关联权限后,某个页面查询不出数据,不关联权限就可以现象:1、用带权限的账号登进去后,查询不出数据,F12发现报错,"Anerroroccurredwhileexecutingthecommanddefinition.Seetheinnerexceptionfordetails."         2、浏览器
  • 2024-07-06LINQ扩展方法
    余生只想牵你的手从天光乍破走到暮雪白头。--zhu常用LINQ控制方法大部分是IEnumerable的扩展方法(数组,List,Dictionary,set)(1)WherestaticvoidMain(string[]args){List<Employee>list=newList<Employee>();list.Add(newEmployee{Id=1,Name="jerry",Age=26
  • 2024-07-04LINQ准备
    你我之间,不需要时间在场。--zhu一.为什么要学LINQLINQ能让数据处理变得简单。例:统计一个字符串中每个字母出现的频率(忽略大小写),然后按照从高到低的顺序输出出现频率高于2次的单词和其出现频率。varitems=s.Where(c=>char.IsLetter(c))//过滤非字母.Select(c=>char.ToLow
  • 2024-07-04C#-听说有人不推荐使用Linq!?
    先说结论linq和直接遍历的性能差异点主要还是迭代方式,数组和字符串这类的foreach都是专门有优化的,而linq都是通用的泛型调用迭代器,如果刚好遇到这类数据又需要高性能就尽量不用linq,其他类型或性能要求不高的还是linq香。(ps:linq写的不好不能怪linq)背景起初是看到有人写的博客
  • 2024-07-02学懂C#编程:常用高级技术——学会C#的高级特性 LINQ
    LINQ(LanguageIntegratedQuery)是C#中的一项强大特性,它允许开发者以一种统一的方式查询和操作各种数据源,如集合、数据库、XML等。LINQ将查询功能直接集成到C#语言中,使得数据查询和操作变得更加直观和高效。LINQ的基本概念LINQ的核心思想是将数据查询表达为一种类似于SQL的查
  • 2024-06-22【C#进阶】LINQ和数据库操作_2024-06-22
    当我们踏入现代软件开发的世界,高效地管理和操作数据成为了编程的核心技能之一。让我们一步步来,用最直白的语言讲解这些与数据库操作和LINQ相关的知识点。LINQand数据库操作LINQ(LanguageIntegratedQuery,语言集成查询)是C#中一种强大而灵活的查询技术,它允许你以统一的方式查询
  • 2024-05-28linq语句
    所有实现了IEnumerable<T>接口的类都可以使用这些方法1intcount1=list.Count(e=>e.Salary>5000||e.Age<30);2intcount2=list.Where(e=>e.Salary>5000||e.Age<30).Count();1boolb1=list.Any(e=>e.Salary>8000);2boolb2=l
  • 2024-05-23高效的Linq
    语言集成查询常见用途:.NET原生集合(List,Array,Dictionary等等)SQL数据库XML文档JSON文档常见功能:排序、筛选、选择、分组、聚合、合并、最大值、最小值、求和、求平均、求数量等等;两种形式:查询表达式queryexpression链式表达式chainedexpression延迟执行消耗:foreach、tolist(),t
  • 2024-05-20C# LINQ和Lambda表达式详解
    (1)简单的查询语句Linq语法:vardata=fromaindb.Areasselecta;Lamda语法:vardata=db.Areas;sql语法: string sqlStr="SELECT*FROMAreas";(2)简单的WHERE语句Linq语法:vardata=fromaindb.orderInfowherea.orderId> 20 selecta;Lamda语法:vardata=db.
  • 2024-05-16LINQ中使用分页和子查询优化语句
    通过分页加子查询优化后代码:1vardata=fromtestTypeincontext.TestType2joinmodelTypeincontext.ModelTypeontestType.ModelTypeequalsmodelType.IDintomodelJoin3frommodelTypeinmodelJoin.Defau
  • 2024-05-10C#中Linq的去重方式Distinct详解
    一、首先创建一个控制台应用程序,添加一个Person对象usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceCompare{publicclassPerson{publicstringName{get;set;}
  • 2024-04-25数据库设计 外键设计 关联表查询 linq efcore
    数据库的设计实体之间的关系图实体EleOrderRowItem.cspublicclassEleOrderRowItem:EleEntity{publicstring?Xxx{get;set;}//外键:一个rowItem属于一个rowpubliclongRowId{get;set;}publicrequiredEleOrderRowRow{get;set;}}