草庐IT

LINQ_ENABLED

全部标签

c# - 在 XmlNodeList 上使用 LINQ

我想选择id为“abc”的节点,返回其abv为“a”。XmlDocumentdoc=newXmlDocument();doc.Load(filePath);XmlNodeListlist=doc.SelectNodes("X/Y");varnode=list.Cast().Where(node=>node["id"].InnerText=="abc").Select(x=>x["abv"].InnerText);但是不行,node["id"].InnerText一直是""。能指出哪里有问题吗?非常感谢 最佳答案 除了由于非唯一的no

c# - 通用 LINQ 查询谓词?

不确定这是否可行,或者我是否正确表达了我正在寻找的内容,但我的库中反复出现以下代码,并且想练习一些DRY。我有一组基于用户提供的简单搜索字段alaGoogle查询的SQLServer表。我正在使用LINQ根据搜索字符串中的内容编写最终查询。我正在寻找一种使用泛型并传入lambda函数的方法,以此创建一个可重用的例程:string[]arrayOfQueryTerms=getsTheArray();varsomequery=fromqindataContext.MyTableselectq;if(arrayOfQueryTerms.Length==1){somequery=someque

c# - LINQ 首先选择

嗨,我有这段linq代码varfp=lnq.attaches.First(a=>a.sysid==sysid).name;分析时它会生成以下t-sqlSELECTTOP(1)[t0].[sysid],[t0].[name],[t0].[att_size],[t0].[cid],[t0].[flags],[t0].[contents]FROM[lntmuser].[attach]AS[t0]在我看来,它像select*一样返回,这将导致查询执行表扫描而不是使用索引。不利于性能。我怎样才能只选择名称列,例如:SELECTTOP(1)[t0].[name]FROM[lntmuser].[at

c#/Linq 总和在哪里

我有一个NCR表,其中包含以下格式的数据:ID|Date|Item|Type|Qty1|01/01/13|Apple|A|12|01/01/13|Apple|B|13|01/01/13|Orange|C|14|01/01/13|Orange|A|26|01/01/13|Orange|C|1我想生成一个linq查询,为我提供给定日期的类型和总和的摘要,如下所示:Item|A|B|CApple|1|1|0Orange|2|0|2到目前为止我有这个:varq=data.GroupBy(l=>l.Item).Select(g=>new{Item=g.Key,Total=g.Sum(c=>c.Q

c# - 在 LINQ 中使用 2 个 where 子句的性能

在LINQ-to-Entities中,您可以通过以下方式查询实体:varstudents=SchoolContext.Students.Where(s=>s.Name=="Foo"&&s.Id==1);我知道在幕后它会被翻译成类似于SQL的东西:SELECT*FROMStudentsWHEREName='Foo'ANDId=1但是,如果我写:varstudents=SchoolContext.Students.Where(s=>s.Name=="Foo").Where(s=>s.Id==1);它会被翻译成相同的SQL查询吗?据我了解.Where()将返回IEnumerable所以第二个

c# - AsEnumerable() 对 LINQ 实体有什么影响?

读题here和here让我对这种情况有了一些了解,似乎使用AsEnumerable会消耗内存。有没有更好的方法来做这个LINQ和现在做的方式,出来的数据可靠吗?删除AsEnumerable会导致“除Contains运算符外,本地序列不能用于查询运算符的LINQtoSQL实现。”varresults=frompinpollcards.AsEnumerable()joinsinspoils.AsEnumerable()onnew{Ocr=p.OCR,fileName=p.PrintFilename}equalsnew{Ocr=s.seq,fileName=s.inputFileName}w

c# - LINQ 表达式。从范围引用的类型变量 'p',但未定义

我正在使用这段代码动态构建LINQ查询。它似乎有效,但是当我在搜索中有多个searchString时,(所以当添加多个表达式时,我得到以下错误:Variable'p'oftypereferencedfromscope,butitisnotdefined**我想我只能定义/使用p一次。但是,如果是这样,我需要稍微修改一下我的代码。谁能在这里指出我正确的方向?if(searchStrings!=null){foreach(stringsearchStringinsearchStrings){Expression>containsExpression=p=>p.Name.Contains(s

C# Linq 分组

我正在尝试使用Linq,但在计算分组时遇到了问题。我已经学习了几个教程,但出于某种原因无法弄清楚这一点。例如,假设我有一个包含多个网站ID的表(SiteStats),该表存储了过去30天内访问过每个网站的访问者总数(按类型)的计数。╔════════╦═════════════╦════════╦══════╗║SiteId║VisitorType║Last30║Total║╠════════╬═════════════╬════════╬══════╣║1║1║10║100║║1║2║40║140║║2║1║20║180║╚════════╩═════════════╩═══════

c# - 并行运行简单的 LINQ 查询

我对LINQ和PLINQ还是很陌生。我通常只使用循环和List.BinarySearch在很多情况下,但我会尽力摆脱这种心态。publicclassStaff{//...publicboolMatches(stringsearchString){//...}}使用“普通”LINQ-抱歉,我不熟悉这个术语-我可以执行以下操作:varmatchedStaff=fromsinallStaffwheres.Matches(searchString)selects;但我想并行执行此操作:varmatchedStaff=allStaff.AsParallel().Select(s=>s.Match

C# LINQ 从列表中选择

我有一个从xml文档返回的事件ID列表,如下所示publicIEnumerableGetEventIdsByEventDate(DateTimeeventDate){return(fromfeedinxmlDoc.Descendants("Show")fromevinfeed.Elements("Event")whereConvert.ToDateTime(ev.Attribute("Date").Value).ToShortDateString()==eventDate.ToShortDateString()selectnewEventFeed(){EventShowCode=fee