草庐IT

LINQ_ENABLED

全部标签

c# - linq 案例陈述

我需要一些有关linq(c#)中CASE语句的帮助:osc_products.products_quantity=CASEWHENitempromoflag'N'THEN100000WHENitemcat1IN('1','2','31')ANDitemsalestatus='S'THEN100000WHENitemsalestatus='O'THEN0ELSEcds_oeinvitem.itemqtyonhand-cds_oeinvitem.itemqtycommittedEND我开始转换为linq,(我还在学习):cdsDBDataContextdb=newcdsDBDataCont

c# - 使用 linq 返回对象特定属性的列表

给定这样一个类:publicclassStock{publicStock(){}publicGuidStockID{get;set;}publicstringDescription{get;set;}}假设我现在有一个List.如果我想检索所有StockID的列表并将其填充到IEnumerable或IList中。显然我可以做到这一点。ListstockItems=newList();Listids=newList();foreach(StockitminstockItems){ids.Add(itm.StockID);}但是有什么方法可以使用Linq来达到相同的结果吗?我以为Disti

c# - 将委托(delegate)用于 LINQ 的 Distinct() 的相等比较器

我有一个使用我自己的自定义比较器的LINQDistinct()语句,如下所示:classMyComparer:IEqualityComparerwhereT:MyType{publicboolEquals(Tx,Ty){returnx.Id.Equals(y.Id);}publicintGetHashCode(Tobj){returnobj.Id.GetHashCode();}}...vardistincts=bundle.GetAllThings.Distinct(newMyComparer());一切都很好,花花公子,可以按我的意愿工作。出于好奇,我是否需要定义自己的比较器,或者我

c# - LINQ - 查找一个列表中不在另一个列表中的所有项目

我受困于LINQ查询(或任何其他完成同一事情的有效方法)。有人可以告诉我如何选择一个列表中不存在于另一个列表中的所有项目吗?基本上,我有一个列表,它是通过在其他两个列表之间匹配项目而形成的。我需要在第一个列表中找到所有未找到匹配项的项目。有人可以用实现此目标的查询在下面的第二个LINQ查询中填上星星吗?如果我使用TSQL,我会执行SELECT*NOTIN(),但我认为LINQ不允许这样做。//Createsomesamplelists.Listlist1=newList{/*Init*/};Listlist2=newList{/*Init*/};//Findallitemsinlist

c# - 实例化空 IQueryable 以与 Linq to sql 一起使用

我需要能够在Linq查询中拥有一个可选参数,或者如果需要从查询中删除该可选参数,则能够将查询分配给类似IF的var。如果我在IF语句中设置查询变量,那么当我尝试循环遍历它时,它会告诉我该变量在上下文中不存在。if(whichGroup=="All"){varlistOppLineData=(fromoindb.opportunity_vwswhereo.fiscal_yr_and_qtr==qtrselecto);}else{varlistOppLineData=(fromoindb.opportunity_vwswhereo.fiscal_yr_and_qtr==qtr&&o.Gro

c# - 我是否误解了 LINQ to SQL .AsEnumerable()?

考虑这段代码:varquery=db.Table.Where(t=>SomeCondition(t)).AsEnumerable();intrecordCount=query.Count();inttotalSomeNumber=query.Sum();decimalaverage=query.Average();假设query需要很长时间才能运行。我需要获取记录数、返回的总SomeNumber,并在最后取平均值。根据我的阅读,我认为.AsEnumerable()会使用LINQ-to-SQL执行查询,然后将LINQ-to-Objects用于Count,Sum和Average。相反,当我

c# - 使用 LINQ 将 List<U> 转换为 List<T>

我有2个类,它们具有一些相同的属性。我从第一类存入列表属性,然后,我想获取一些需要的属性并将它们放入第二类类型的列表中。我已经通过C#制作了转换序列并且运行正常,但我必须使用LINQ。我试图做一些事情,但没有很好的结果。请帮助我提出建议。第一类:publicclassServiceInfo{privatelong_id;publiclongID{get{returnthis._id;}set{_id=value;}}privatestring_name;publicstringName{get{returnthis._name;}set{_name=value;}}privatelon

c# - 使用 Linq to SQL 确定行是否存在的最快方法是什么?

我对一行的内容不感兴趣,我只想知道一行是否存在。Name列是主键,因此将有0或1个匹配行。目前,我正在使用:if((fromuindc.Userswhereu.Name==nameselectu).Count()>0)//rowexistselse//rowdoesn'texist虽然上面的方法有效,但它通过选择行的所有内容(如果存在)做了很多不必要的工作。以下是否创建了更快的查询:if(dc.Users.Where(u=>u.Name==name).Any())...或者是否有更快的查询? 最佳答案 Count()方法可能会做额外

c# - 来自 LINQ SQL 的 List<T> 的随机元素

这个问题在这里已经有了答案:HowtogetaRandomObjectusingLinq(9个回答)关闭6个月前。我正在使用C#3.5,目前正在使用Linq从用户表中获取所有用户并将他们放入列表中。现在我想从该列表中返回一个随机用户。这样做的最佳方式是什么?编辑:在这里找到它:HowtogetaRandomObjectusingLinq

c# - Linq Count() 比 List.Count 或 Array.Length 快还是慢?

是LINQCount()任何比List.Count更快或更慢的方法或Array.Length? 最佳答案 一般较慢。LINQ的计数一般是O(N)运行时List.Count和Array.Length都保证是O(1).然而,在某些情况下,LINQ会将IEnumerable作为特殊情况通过转换为某些接口(interface)类型的参数,例如IList或ICollection.然后它将使用该Count方法执行实际的Count()。手术。所以它会回到O(1).但是您仍然需要支付转换和接口(interface)调用的少量开销。