linq 相关问题

语言集成查询(LINQ)是一种Microsoft .NET Framework组件,它为.NET语言添加了本机数据查询功能。请在适当时考虑使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]

LINQ 中长类型的求和方法

我怎样才能获得一些长类型项目的总和......这是我的代码: 使用 (gEn myEntities = 新 gEn) { var load =(来自 myEntities.Orders 中的项目 select items.PayO).DefaultIfEmpty(0).Sum(); } 但...

回答 2 投票 0

如何使用 Linq 应用嵌套选择

我正在使用嵌套选择,似乎我正在做的事情不正确! 我正在尝试检索所有主题项目。 公开课员工 { 公共 int Id{ 得到;放; } //....其他

回答 1 投票 0

嵌套 where 子句

我有一本用户词典Dictionary usersBase 每个用户都有一个评分列表 List 评分。每个评级都包含电影 ID 和评级的字符串。

回答 2 投票 0

如何在 C# 中减少 int List 数组的值?

例如:我的列表包含:[5, 4, 3, 2, 1],我想每个值减1,新列表将是:[4, 3, 2, 1, 0],其可能吗,在 C# 中? 了解如何使用 List 减少 List 中的值

回答 1 投票 0

如何对 C# 对象中的属性列表进行排序?

我有一个如下所示的对象,它有一些属性,其中之一是列表。如何按列表中的属性之一对该列表进行排序? 例子: 学生 std = new Student() { 学生...

回答 1 投票 0

Linq 查询从 SQL 表(使用 Entity Framework Core)检索与对象 List 列表匹配的数据<BucketList>

公共类Table1EntityClass { 公共 int id { 得到;放; } 公共字符串名称{获取;放; } 公共字符串描述{获取;放; } 公共小数价格 { get;放; } 公共...

回答 1 投票 0

带 Null 的 LINQ Max()

我有一个包含一堆点(带有 X 和 Y 分量)的列表。 我想获得列表中所有点的 Max X,如下所示: double max = pointList.Max(p=> p.X); 问题是...

回答 10 投票 0

LINQ - 当值为 NULL 时排除过滤器

我想看看当有一个可选参数(CountryId)可以为NULL时是否有更好的方法来编写下面的查询 公共静态 IEnumerable GameByMatchingName...

回答 5 投票 0

GroupBy 和 where 的 LINQ 表达式翻译问题

我正在尝试获取数据库中具有重复所有者的所有项目。我的第一个方法返回它们的计数并且工作没有任何问题: 公共 int GetUsersWithMultipleItemsCount() { 返回

回答 1 投票 0

使用传入的参数作为搜索字段,使用 Entity Framework Web API 创建动态搜索查询

嗨,我想使用实体创建一个动态搜索查询,并将 URI 中的值作为搜索字段。 下面的代码有效,但我必须搜索的一些表有超过 200 个字段...

回答 4 投票 0

C# Linq 与对象的一部分相交/除外

我有一堂课: 本类 { 私有字符串 a {get;放;} 私有字符串 b {get;放;} } 我想使用 Linq 的 Intersect 和 except 方法,即: 私人名单 我有课: class ThisClass { private string a {get; set;} private string b {get; set;} } 我想使用 Linq 的 Intersect 和 except 方法,即: private List<ThisClass> foo = new List<ThisClass>(); private List<ThisClass> bar = new List<ThisClass>(); 然后我分别填写这两个列表。例如,我想做以下事情(我知道这是不对的,只是伪代码): foo[a].Intersect(bar[a]); 我该怎么做? 如果您想要一个要相交的单个属性的列表,那么所有其他漂亮的 LINQ 解决方案都可以正常工作。 但!如果你想在整个类上相交,结果有一个 List<ThisClass> 而不是 List<string>,你必须编写自己的相等比较器。 foo.Intersect(bar, new YourEqualityComparer()); 与Except相同。 public class YourEqualityComparer: IEqualityComparer<ThisClass> { #region IEqualityComparer<ThisClass> Members public bool Equals(ThisClass x, ThisClass y) { //no null check here, you might want to do that, or correct that to compare just one part of your object return x.a == y.a && x.b == y.b; } public int GetHashCode(ThisClass obj) { unchecked { var hash = 17; //same here, if you only want to get a hashcode on a, remove the line with b hash = hash * 23 + obj.a.GetHashCode(); hash = hash * 23 + obj.b.GetHashCode(); return hash; } } #endregion } 也许 // returns list of intersecting property 'a' values foo.Select(f => f.a).Intersect(bar.Select(b => b.a)); 顺便说一句,属性a应该是公开的。 不确定与相交和比较相比的速度,但怎么样: //Intersect var inter = foo.Where(f => bar.Any(b => b.a == f.a)); //Except - values of foo not in bar var except = foo.Where(f => !bar.Any(b => b.a == f.a)); foo.Select(x=>x.a).Intersect(bar.Select(x=>x.a)) 到底想要的效果是什么?当通过 a 的唯一值标识两个 ThisClass 实例时,您想要获取由类中所有 ThisClass 组成的字符串列表,还是 a 列表? 如果是前者,@lazyberezovksy 和 @Tilak 的两个答案应该有效。如果是后者,您必须重写 IEqualityComparer<ThisClass> 或 IEquatable<ThisClass>,以便 Intersect 知道是什么使 ThisClass 的两个实例等效: private class ThisClass : IEquatable<ThisClass> { private string a; public bool Equals(ThisClass other) { return string.Equals(this.a, other.a); } } 然后您可以拨打: var intersection = foo.Intersect(bar); 我知道这已经很旧了,但是你不能重写类本身的 Equals 和 GetHashCode 吗? class ThisClass { public string a {get; set;} private string b {get; set;} public override bool Equals(object obj) { // If you only want to compare on a ThisClass that = (ThisClass)obj; return string.Equals(a, that.a/* optional: not case sensitive? */); } public override int GetHashCode() { return a.GetHashCode(); } } 您可以尝试以下方法。这是一个 lambda 表达式,其中我们将项目定义为 ThisClass 变量,并将等式定义为 foo 和 bar 之间的内部 lambda 表达式。在 where 子句中,我们根据字段 a 获取满足等式 creteria 的元素,并且因为这返回匿名类型的类,所以我们选择 q.item 来表示 ThisClass 中满足等式的所有项,并给出 IEnumerable 类型。 IEnumerable<ThisClass> Intersection = foo.Select(x => new { item = x, equality = bar.Any(y => y.a.Equals(x.a)) }).Where(w => w.equality).Select(q => q.item); 您应该创建 IEqualityComparer。您可以将 IEqualityComparer 传递给 Intersect() 方法。这将帮助您更轻松地获得列表(与栏相交)。 var intersectionList = foo.Intersect(bar, new ThisClassEqualityComparer()).ToList(); class ThisClassEqualityComparer : IEqualityComparer<ThisClass> { public bool Equals(ThisClass b1, ThisClass b2) { return b1.a == b2.a; } public int GetHashCode(Box bx) { // To ignore to compare hashcode, please consider this. // I would like to force Equals() to be called return 0; } }

回答 8 投票 0

如何查看LINQ生成的SQL语句?

如何使用ObjectQuery方法完成?

回答 9 投票 0

使用表达式在运行时动态选择属性

嗨,我需要使用动态属性名称调用 LINQ 选择器。 但 LINQ 选择器无法返回属性名称中存在的数据。 它的以下代码是我的问题的模拟示例代码 公开

回答 1 投票 0

linq 连接中是否存在“不等于”? [重复]

我正在尝试完成下面的 LINQ 查询,但我需要一个“不等于”而不是等于,我想添加会员尚未加入的俱乐部列表,而不是 IDClub 等于 i.ID,我想要 ID.. .

回答 1 投票 0

从 LINQ 数据库查询中的整数返回枚举名称

我想使用 LINQ 查询返回作为整数存储在数据库中的枚举的字符串值。 我尝试过的: 返回(从 context.Tasks 中 选择新任务...

回答 3 投票 0

当任何参数可以为 null 或为空时,Entity Framework 会跳过 where 子句中的多个条件

我试图从数据库中获取记录,其中任何参数都可以为空或为空,这就是我所拥有的,但没有给我正确的结果。五个参数中的任何一个都可以为空,但其中一个必须具有...

回答 1 投票 0

如何使用 LINQ 从对象 Y 列表中检索对象 X 的不同列表,其中对象 X 存储在针对对象 Y 的列表中

我有一个对象列表(“表单”),每个对象都有自己的另一个对象(“主题”)的嵌套列表。 我的 Form 对象如下所示: 公开课形式 { 噗...

回答 2 投票 0

将过滤器列表应用于 IEnumerable 数据

我有数据作为IEnumerable>并且我有过滤器列表作为List> 原始数据是这样的 我正在尝试过滤...

回答 1 投票 0

LINQ OrderBy 忽略大小写,采用真正的 ASCII 排序

我尝试在 C# 中使用 LINQ 按 ASCII 顺序对字符串(“A”、“_”、“a”)进行排序,同时忽略区分大小写。根据 ASCII 表,我感兴趣的字符串是...

回答 2 投票 0

Radzen Dropdown 运行速度非常慢 [已关闭]

Work 表有三列:ID、Region 和 Worker。 并且有两个下拉列表。 DropDown A:选择并过滤Region,与数据区域绑定的区域 下拉菜单 B:选择并过滤...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.