草庐IT

Linq2XSD

全部标签

c# - 使用 LINQ 通过一次查询从数组中获取前五个元素和后五个元素

我最近被一位同事问到:是否可以通过一次查询从数组中只取前五个元素和后五个元素?int[]someArray={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};我尝试过的:int[]someArray={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};varfirstFiveResults=someArray.Take(5);varlastFiveResults=someArray.Skip(someArray.Count()-5).Take(5);varresult=firstFiveRes

c# - 使用 System.Data.Linq 找不到

我在asp.net4和VS2010中使用C#、EF4。我正在尝试使用此代码usingSystem.Data.Linq加载命名空间System.Data.Linq我收到此错误:Error2Thetypeornamespacename'Linq'doesnotexistinthenamespace'System.Data'(areyoumissinganassemblyreference?)知道我做错了什么。 最佳答案 右键单击您的解决方案/项目。单击添加引用并搜索System.Data.Linq并在其中添加引用,它应该可以编译。

c# - 使用 LINQ 的唯一项目列表

我已经使用LINQ一段时间了,但似乎卡在了关于Uniqueitems的问题上,我有以下列表:Liststock=newList();它具有以下属性:字符串ID、字符串类型、字符串描述,示例:publicclassStock{publicstringID{get;set;}publicstringType{get;set;}publicstringDescription{get;set;}}我想要一个LINQ查询,它将Stock中的项目按类型分组,并将其作为新的StockList返回(它必须与原始StockList的类型相同)。示例数据:IDTypeDescription--------

c# - 使用 LINQ 将字符串拆分为 N 长度字符串列表

我知道String.Split的概念之前已经通过多种不同的方法得到解决,但我对这个问题的LINQ解决方案特别感兴趣。我试图编写一个扩展类来处理拆分,但是这两种尝试都存在一些重大问题。所以对于以下内容:strings="ABCDEFGHIJKLMNOPQRSTUVWX";varresults=s.SplitEvery(4);我想要一个像这样的列表:{"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}这是我的扩展类:publicstaticclassExtensions{publicstaticListSplitEvery(thisstrings,intn

c# - 使用 linq 收集到字符串

我有课publicclassPerson{publicstringFirstName{get;set;}publicstringLastName{get;set;}}ListPersonList=newList();PersonList.Add(newPerson(){FirstName="aa",LastName="AA"});PersonList.Add(newPerson(){FirstName="bb",LastName="BB"});我想使用Linq获取一个带有逗号分隔符的字符串,结果如下所示:AA,BB谢谢, 最佳答案

c# - LINQ Max 扩展方法在空集合上出错

我有以下查询:varmaxNumber=dbContext.Where(a=>a.Id==9).Max(a=>a.Sample_Num);如果没有9的Id,我会得到一个错误。如果没有Id为9,我喜欢将结果默认为0。我试过:varmaxNumber=dbContext.Where(a=>a.Id==9).Max(a=>a.Sample_Num)??0;以及其他变体,但无法使其正常工作 最佳答案 你可以使用Any来检查是否有匹配的元素:intmaxNumber=0;varid9=dbContext.Where(a=>a.Id==9);i

c# - 我是否遗漏了有关 LINQ 的信息?

我似乎遗漏了有关LINQ的一些信息。在我看来,这似乎是将我最不喜欢的一些SQL元素转移到C#语言中并将它们用于其他用途。我的意思是,我可以看到在数据库以外的事物上使用类似SQL语句的好处。但是,如果我想编写SQL,那么,为什么不直接编写SQL并将其放在C#之外呢?我在这里缺少什么? 最佳答案 LINQ与SQL无关。LINQ是关于在对象上应用函数式编程范例。LINQtoSQL是建立在LINQ基础之上的ORM,但LINQ远不止于此。我不使用LINQtoSQL,但我一直使用LINQ。执行查找两个列表的交集的任务:在LINQ之前,此任务需要

c# - 为什么添加不必要的 ToList() 会大大加快此 LINQ 查询的速度?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭9年前。Improvethisquestion为什么使用ToList()强制实现会使我的查询速度提高几个数量级,而如果有的话,它应该做的恰恰相反?1)立即调用First()//"Context"isanEntityFrameworkDB-firstmodelvarquery=fromxinContext.Userswherex.Username.ToLower().Equals(User.Identity.Name.ToLower())selectx

c# - svcutil.exe 是 xsd.exe 的替代品吗?

我正在使用xsd.exe从.xsd文件生成一些C#类。我遇到了此处和其他站点所涵盖的相同问题,其中xsd.exe生成Type[]数组而不是.xsd文件中类型的通用列表集合。有人建议,如果将/dataContractOnly参数传递给svcutil.exe,则可以使用svcutil.exe替代xsd.exe。但是,这些人似乎错了,因为svcutil.exe实际上生成了System.Xml.XmlNode[]数组属性,而不是根据.xsd文件中的架构创建类型。例如,给定这个简单的.xsd架构:'xsd.exe/classesExample.xsd'生成:publicpartialclassE

C# LINQ to SQL : Refactoring this Generic GetByID method

我写了下面的方法。publicTGetByID(intid){vardbcontext=DB;vartable=dbcontext.GetTable();returntable.ToList().SingleOrDefault(e=>Convert.ToInt16(e.GetType().GetProperties().First().GetValue(e,null))==id);}基本上它是通用类中的一个方法,其中T是DataContext中的一个类。该方法从T的类型(GetTable)获取表格,并检查输入参数的第一个属性(始终是ID)。问题是我必须先将元素表转换为列表才能对属性执行