草庐IT

Linq2XSD

全部标签

c# - 使用 LINQ 过滤列表

我有一个从外部应用程序返回的人员列表,我正在我的本地应用程序中创建一个排除列表,以便我可以选择从列表中手动删除人员。我有一个我创建的复合键,它对两者都是通用的,我想找到一种使用我的列表从我的列表中删除人员的有效方法例如classPerson{propstringcompositeKey{get;set;}}classExclusions{propstringcompositeKey{get;set;}}Listpeople=GetFromDB;Listexclusions=GetFromOtherDB;ListfilteredResults=People-exclustionsusin

c# - 使用linq查找不相交的数据集

Lista=1,2,3Listb=2,4,5output1,3,4,5 最佳答案 诀窍是使用Except与两个列表的交集。这应该为您提供非交叉元素的列表:varnonIntersecting=a.Union(b).Except(a.Intersect(b)); 关于c#-使用linq查找不相交的数据集,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/712198/

c# - LINQ 中的数据冲突

使用SubmitChanges()进行更改时,LINQ有时会因ChangeConflictException异常而终止,并显示错误消息Rownotfoundorchanged,没有当另一个用户更改了该行中的某些数据时,任何指示发生冲突的行或发生冲突的更改的字段。有什么方法可以确定哪一行有冲突以及它们出现在哪些字段中,还有什么方法可以让LINQ忽略该问题并简单地提交数据而不管吗?此外,是否有人知道此异常是在行中的任何数据发生更改时发生,还是仅在LINQ试图更改的字段中的数据发生更改时发生? 最佳答案 这是查看冲突位置的方法(这是一个M

c# - 是否可以将所有 'for' 循环替换为 LINQ 语句?

是否可以将以下'foreach'编写为LINQ语句,我想更一般的问题是可以将任何for循环替换为LINQ语句。我对任何潜在的性能成本不感兴趣,只对在传统命令式代码中使用声明性方法的潜力感兴趣。privatestaticstringSomeMethod(){if(ListOfResources.Count==0)returnstring.Empty;varsb=newStringBuilder();foreach(varresourceinListOfResources){if(sb.Length!=0)sb.Append(",");sb.Append(resource.Id);}ret

c# - IEnumerable<T> 到 Dictionary<string, IEnumerable<T>> 使用 LINQ

拥有IEnumerableorders,如何获得Dictionary>使用Linq,其中键是Order.CustomerName映射到IEnumerable客户的订单。orders.ToDictionary(order=>order.CustomerName)不会立即生效,因为可能有多个订单具有相同的CustomerName。解决方案:orders.ToLookup(order=>order.CustomerName); 最佳答案 ILookup接口(interface)就是为此目的而设计的,它代表一个类似字典的结构,每个键包含许多

c# - LINQ - 获取列表中列表中的所有项目?

我目前正在学习LINQ的学习曲线,我真的需要一些帮助。我不知道我想要的是否可能,但如果我必须打赌,我敢打赌。我目前有一个名为_tables的对象列表,其中每个对象都有另一个通过属性“Indexes”公开的对象列表。本质上,我希望最终得到一个列表,其中包含所有_tables中的所有索引。这是我目前所拥有的:varindexes=fromTableInfotabin_tableswheretab.Indexes.Count>0selecttab.Indexes;不幸的是,这似乎给了我另一个列表列表,但只有在索引列表包含多个值的情况下...是否有某种方法可以在没有循环的情况下将所有这些列表放

c# - 在 Linq 中使用点分语法时,我可以访问 SelectMany 跳过的 "parent"吗?

在查询语法中我可以写vargreendoorsWithRooms=fromroominhouse.rooomsfromdoorinroom.doorswheredoor.Color=greenselectnew{d=door,r=room}有没有办法用点分语法实现同样的效果?vargreendoorsWithRooms=house.rooms.SelectMany(room=>room.Doors).Where(door=>door.Color==green).Select(door=>new{}我正在教一些非程序员针对专有对象模型使用LINQPad,这样我们就不必围绕每个奇怪的情况创

c# - List<string[]> 通过 Linq 确定最大长度

我有以下结构ListsList=newList(){new[]{"x","xxx","xxxx"},//1,3,4new[]{"x","xx","xx"},//1,2,2new[]{"xxxxxx","xx","xx"}//6,2,2};我需要按列确定项目的最大string.length在这个例子中,预期结果应该是:ListResult=newList(){6,3,4};是否有简单的Linq方法?我的努力(工作但不使用Linq):ListResult=newList();foreach(string[]lineinTable){for(inti=0;ii){if(Result[i]行数

c# - 使用 LINQ 计算加权平均值

我的目标是根据另一个表的主键从一个表中获取加权平均值。示例数据:表1KeyWEIGHTED_AVERAGE02000表2ForeignKeyLengthValue0200105520200105600200105540200105-102004755我需要根据段的长度获得加权平均值,并且我需要忽略-1的值。我知道如何在SQL中执行此操作,但我的目标是在LINQ中执行此操作。它在SQL中看起来像这样:SELECTSum(t2.Value*t2.Length)/Sum(t2.Length)ASWEIGHTED_AVERAGEFROMTable1t1,Table2t2WHEREt2.Valu

c# - 如何将 LINQ 数据绑定(bind)到下拉列表

此代码的最后两行无法正常工作——结果是从LINQ查询返回的。我只是不确定如何将结果中指定的列成功绑定(bind)到下拉列表的文本字段和值字段:protectedvoidBindMarketCodes(){ListmcodesList=newList();LINQOmniDataContextdb=newLINQOmniDataContext();varmcodes=frompindb.lkpMarketCodesorderby0selectp;mcodesList=mcodes.ToList();//bindtoCountryCOdedroplistdd2.DataSource=mco