草庐IT

LINQ_ENABLED

全部标签

c# - 如何使用 Linq to Entity 获取最大 ID?

我有一个User表,它有一个标识列UserID,现在正确的LinqtoEntity代码行会返回最大UserID是什么?我试过:using(MyDBEntitiesdb=newMyDBEntities()){varUser=db.Users.Last();//orvarUser=db.Users.Max();returnuser.UserID;}但是Last和Max似乎不被支持。有什么想法吗? 最佳答案 像这样做db.Users.OrderByDescending(u=>u.UserId).FirstOrDefault();

c# - 在 LINQ 中创建批处理

有人可以建议一种在LINQ中创建特定大小的批处理的方法吗?理想情况下,我希望能够按可配置数量的block执行操作。 最佳答案 您无需编写任何代码。使用MoreLINQ批处理方法,它将源序列分批放入一定大小的桶中(MoreLINQ可以作为NuGet包提供,您可以安装):intsize=10;varbatches=sequence.Batch(size);实现为:publicstaticIEnumerable>Batch(thisIEnumerablesource,intsize){TSource[]bucket=null;varcou

c# - 使用 LINQ 将项目移动到列表顶部

有没有办法使用LINQ将id=10的项目移动为列表中的第一项?ItemA-id=5ItemB-id=10ItemC-id=12ItemD-id=1InthiscasehowcanIelegantlymoveItemCtothetopofmyListcollection?ThisisthebestIhaverightnow:varallCountries=repository.GetCountries();vartopitem=allCountries.Single(x=>x.id==592);varfinalList=newList();finalList.Add(topitem);f

c# - Queryable.SelectMany() 方法是否有 C# LINQ 语法?

在使用C#LINQ语法编写查询时,有没有办法从关键字语法中使用Queryable.SelectMany方法?为了string[]text={"Albertwashere","Burkesleptlate","Connorishappy"};使用流畅的方法我可以查询vartokens=text.SelectMany(s=>s.Split(''));是否有类似于的查询语法vartokens=fromxintextselectmanys.Split('') 最佳答案 是的,您只需重复from...in子句:varwords=fromstr

c# - LINQ to Entities 中的批量删除

有什么方法可以批量删除与LINQ或LINQ-to-Entities中的给定查询匹配的一堆对象?我能找到的唯一引用资料已经过时,遍历并手动删除我希望删除的所有对象似乎很愚蠢。 最佳答案 不久前,我写了一个由4部分组成的博客系列(第1、2、3和4部分)涵盖了在EntityFramework中进行批量更新(使用一个命令)。虽然该系列的重点是更新,但您完全可以使用所涉及的原理来进行删除。所以你应该可以这样写:varquery=fromcinctx.Customerswherec.SalesPerson.Email=="..."selectc

c# - 使用 LINQ 搜索树

我用这个类创建了一棵树。classNode{publicstringKey{get;}publicListChildren{get;}}我想搜索所有child和他们所有的child,以获得符合条件的child:node.Key==SomeSpecialKey我该如何实现? 最佳答案 认为这需要递归是一种误解。它将需要堆栈或队列,最简单的方法是使用递归来实现它。为了完整起见,我将提供一个非递归答案。staticIEnumerableDescendants(thisNoderoot){varnodes=newStack(new[]{ro

c# - 如何动态指定 Linq OrderBy 参数?

这个问题在这里已经有了答案:DynamicLINQOrderByonIEnumerable/IQueryable(22个答案)关闭去年。如何使用我作为参数的值来指定传递给orderby的参数?例如:ListexistingStudends=newList{newStudent{...},newStudent{...}}当前实现:ListorderbyAddress=existingStudends.OrderBy(c=>c.Address).ToList();我怎样才能将它作为参数而不是c.Address?例子stringparam="City";ListorderbyAddress=

c# - 使用 LINQ 对对象进行分页

您将如何在LINQ查询中实现分页?其实暂时,能模仿sql的TOP函数我就满足了。但是,我确信对完整分页支持的需求无论如何都会很快出现。varqueryResult=fromoinobjectswhere...selectnew{A=o.a,B=o.b}?????????TOP10???????? 最佳答案 您正在寻找Skip和Take扩展方法。Skip跳过结果中的前N​​个元素,返回余数;Take返回结果中的前N​​个元素,丢弃所有剩余元素。有关如何使用这些方法的更多信息,请参阅MSDN:http://msdn.microsoft.

c# - Linq - SelectMany 混淆

据我从SelectMany的文档中了解到,可以使用它来生成一对多关系的(扁平化)序列。我有以下类(class)publicclassCustomer{publicintId{get;set;}publicstringName{get;set;}}classOrder{publicintId{get;set;}publicintCustomerId{get;set;}publicstringDescription{get;set;}}然后我尝试像这样使用查询表达式语法来使用它们varcustomers=newCustomer[]{newCustomer(){Id=1,Name="A"},

c# - 如何在 LINQ lambda 中执行多个表之间的连接

我正在尝试在LINQ中执行多个表之间的联接。我有以下类(class):Product{Id,ProdName,ProdQty}Category{Id,CatName}ProductCategory{ProdId,CatId}//associationtable我使用以下代码(其中product、category和productcategory是上述类的实例):varquery=product.Join(productcategory,p=>p.Id,pc=>pc.ProdID,(p,pc)=>new{product=p,productcategory=pc}).Join(categor