草庐IT

Linq2XSD

全部标签

c# - .Net 中 LINQ 和 Lambda 表达式的效率和性能如何?

我已经使用.Net3.5和VS2008一个多月了。像大多数.Net开发人员一样,我在.Net1.0和2.0以及VS2005方面积累了多年的经验。就在最近,我发现了LINQ和Lambda表达式的简单性和强大功能,正如我最近提出的问题,例如FindaniteminlistbyLINQ。,ConvertormapaclassinstancetoalistofanotheronebyusingLambdaorLINQ,和ConvertormapalistofclasstoanotherlistofclassbyusingLambdaorLINQ.我承认Lambda和LINQ更简单易读,而且看起

c# - 如何在 Linq 中进行完全外部连接?

我继承了一个未完全优化设计的数据库,我需要处理一些数据。让我对我必须做的事情做一个更常见的类比:假设我们有一个Student表,一个StudentClass表记录了他参加的所有类(class),还有一个StudentTeacher表存储所有教过这个学生的老师。是的,我知道这是一个愚蠢的设计,将教师存储在Class表上更有意义-但这就是我们正在使用的。我现在想清理数据,我想找到一个学生有老师但没有类(class),或者有类(class)但没有老师的所有地方。因此SQL:select*fromStudentClassscfullouterjoinStudentTeacherstonst.S

c# - LINQ:等同于 JOIN 的点符号

考虑使用查询符号编写的这个LINQ表达式:Listpr=(frompindb.Personsjoineindb.PersonExceptionsonp.IDequalse.PersonIDwheree.CreatedOn>=fromDateorderbye.CreatedOndescendingselectp).ToList();问题:如何使用点表示法编写此LINQ表达式? 最佳答案 像这样:Listpr=db.Persons.Join(db.PersonExceptions,p=>p.ID,e=>e.PersonID,(p,e)=

c# - LINQ:使用 Lambda 表达式获取 CheckBoxList 的所有选定值

考虑一个场景,您想要检索List或IEnumerable中所有选中复选框的值.这是当前的实现:IEnumerableallChecked=(fromiteminchkBoxList.Items.Cast()whereitem.Selectedselectint.Parse(item.Value));问题:您将如何使用lambda表达式或lambda语法改进此LINQ查询? 最佳答案 您正在使用lambda表达式-它们只是被您使用C#的查询运算符所隐藏。考虑一下:IEnumerableallChecked=(fromiteminchk

c# - Linq to Entities,随机顺序

如何以随机顺序返回匹配的实体?需要明确的是,这是EntityFramework的东西和LINQtoEntities。(航空代码)IEnumerableresults=fromenincontext.MyEntitywhereen.type==myTypeVarorderby?????selecten;谢谢编辑:我尝试将其添加到上下文中:publicGuidRandom(){returnnewGuid();}并使用这个查询:IEnumerableresults=fromenincontext.MyEntitywhereen.type==myTypeVarorderbycontext.Ra

c# - 选择前 10 条记录,然后选择下 10 条记录,使用 Linq 进行分页

如何选择前10条记录,然后是下10条,然后是下10条,只要数组不会结束。Phrases=bannersPhrases.Select(x=>x.Phrase).Take(10).ToArray()如何获取接下来的10条记录? 最佳答案 vartotal=bannersPhrases.Select(p=>p.Phrase).Count();varpageSize=10;//setyourpagesize,whichisnumberofrecordsperpagevarpage=1;//setcurrentpagenumber,mustb

c# - 使用 LINQ 查找与条件匹配的元素的第一个索引

varitem=list.Where(t=>somecondition);我希望能够找出返回的元素的索引,事实上,在我的例子中,我想要的只是一个索引,这样我就可以.Skip()到列表中那么多。有没有办法在IEnumerable中执行此操作?我不想使用List为此,但确实有一个FindIndex()方法 最佳答案 如果您真的只需要第一个索引,那么计算不匹配的索引:varindex=list.TakeWhile(t=>!someCondition).Count() 关于c#-使用LINQ查找

c# - Linq - 每个组的最高值

我如何使用Linq从每个组中选择最高值当我有这样的代码段时:varteams=newTeam[]{newTeam{PlayerName="Ricky",TeamName="Australia",PlayerScore=234},newTeam{PlayerName="Hussy",TeamName="Australia",PlayerScore=134},newTeam{PlayerName="Clark",TeamName="Australia",PlayerScore=334},newTeam{PlayerName="Sankakara",TeamName="SriLanka",P

c# - 使用 LINQ 生成数字序列

我尝试编写一个LINQ语句,它返回所有可能的数字组合(我需要这个来进行测试,我受到了这个articleofEricLippert的启发)。我调用的方法原型(prototype)如下所示:IEnumerable>AllSequences(intstart,intend,intsize);规则是:所有返回的集合的长度都是size集合中的数字值必须增加应该使用start和end之间的每个数字因此调用AllSequences(1,5,3)应该产生10个集合,每个集合的大小为3:123124125134135145234235245345现在,我真的很想看到一个纯LINQ解决方案。我能够自己编写

c# - 使用 LINQ 获取平均值

希望有人可以帮助我使用LINQ语法来计算平均值。例如,我有以下LINQ查询:varrates=fromratinginctx.Rateswhererating.Id==Idselectnew{UserId=rating.UserId,Rating=rating.Rating};如果返回10条记录,我需要计算Rating字段的平均值。它在我的数据库中被定义为Double。我正在使用LINQtoEF。所以我将分配UserId、MiscId,而Rating将是返回记录的平均值。我将一个对象传递回客户端代码。 最佳答案 doubleRati