问题标签 [linq-method-syntax]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-framework - LINQ 通用 GroupBy 和 SelectBy 方法语法
我试图让它通用但没有成功。它没有获得相关的用户实体。
我试过了:
它在使用时出错:
c# - 比较 LINQ 方法语法中的 2 个数字列表
我有 2 个数字列表。
我需要如下输出
预期结果
如何通过LINQ
方法语法实现?
c# - .NET Linq 语句的问题
Linq 和 Query 的语法是我最薄弱的技能之一。我在获得所需结果时遇到问题。
我有两个表/集合。一个是 DocumentTypes,另一个是 Notifications。这些是他们认为重要的领域,我省略了那些无关紧要的领域。
文档类型
- ID
- 姓名
- 供应商 ID
通知
- ID
- 文档类型ID
- 用户身份
- 产品编号
- Last_Sequence
我有三个参数;用户 ID、供应商 ID 和产品 ID。
我需要供应商 ID 来获取与该供应商相关的所有 DocumentTypes 的列表。然后我需要 userID 和 ProductID 来获取与这些相关的通知列表。
然后我需要加入这两个列表,每个通知都会有一个与之链接的 documentTypeID。当有特定文档类型的通知时,它需要包含字段 Last_Sequence 并创建一个设置为 true 的新 bool 字段。
当没有通知时,可以将 Last_sequence 留空,并创建 bool 并将其设置为 false。
所以结果将是一个包含具有这些类型的对象的列表。
- 文档类型ID
- 文档类型名称
- BoolField(确实有一个与此相关的通知)
- NotificationID(仅当有一个时)
- Last_sequence(仅当有一个时)
到目前为止我所拥有的。
以前的版本只需要添加 bool 字段,以及 documentType 信息。为此,我有这个声明,但我似乎无法添加我需要的内容:
我为新的尝试过的是这个,但它只会在有通知绑定时返回数据。如果没有,它不会返回该 documentType 数据。
编辑:这是我尝试过但不起作用的示例。这里的问题是当我尝试执行 n.last_sequence 时 n 不存在。
我想知道我应该如何解决这个问题。我是否需要先制作所有正确 DocumentTypes 的集合,然后将其与我制作的新集合相结合,还是有更好的方法来解决这个问题?
c# - 将方法语法转换为查询语法
有没有办法自动从 linq 方法语法转换为查询语法?
EG:我想自动转换它:
对它:
c# - LINQ 方法语法包括 4 层深度
我一直在搜索但没有成功(或不知道如何正确搜索)所以我来找你。
查看这些测试类:
我想要做的是使用急切加载在 1 次调用中获取所有这些类(确保数据库只被调用一次)。
下面是TSQL
我要转换为LINQ Method
语法的实际内容(我认为是正确的术语)而不是LINQ Query
语法。
这是我到目前为止所得到的
虽然我不认为这很重要,但我想指出,以防万一,最后,我需要做一些事情A
,然后,我需要得到所有D
的有Show == true
。
c# - 具有 List 类型的两个列表所需的具有方法语法的 Linq 查询
我需要一个带有方法语法的 linq 查询,并从 fullMessagesList 中返回“这是一个柠檬”、“这是一个橙色”。我需要检查另一个列表中每个文本的 contains() 。
我已经使用老式的 foreach 循环编写了它,但需要使用方法语法使用 linq 来计算它。
c# - 带有 INNER 和 OUTER 连接的 LINQ 方法语法
我有 3 个课程并试图用来LINQ methods
执行一个INNER JOIN
和一个LEFT JOIN
. 我能够分别执行每个,但没有运气在一起,因为我什至无法弄清楚语法。
最终,我要编写的 SQL 将是:
课程
样品
我希望结果是 type Group
。我成功地执行了LEFT JOIN
between Section
and Course
,但是我有一个IQueryable<
a> , which is not what I want, since
Group` 类型的对象。
我也试过这个,但返回NULL
是因为它INNER JOIN
在所有表上执行,并且用户没有输入任何Courses
.
问题
如何以最少的数据库调用次数执行 anINNER
和 a并获得 type 的结果?LEFT JOIN
Group
期望的结果
我想有 1 个类型的对象Group
,但只要 aGroup
有一个Section
. 我还想返回Courses
用户拥有的特定Section
或 return NULL
。
c# - 三元运算符中的条件在“Where”方法中被忽略。还有其他更好的查询方法吗?
我正在尝试实现一种使用 EF 和 Linq 方法语法从数据库中检索数据的方法。该方法有 5 个参数(四个 List 和一个字符串),每个参数必须作为查询结果的过滤器。
在“Where”方法中使用三元运算符在以下代码的某些表达式(1-4)中有效,但在表达式(5)中,无论“nameFilter”的字符串值如何,使用三元运算符都完全忽略了 Where 条件在表达式 (5) 中被忽略,在调试时我检查了!nameFilter.Equals("")
当 nameFilter 值为“”时条件结果为真。
Finnaly,尝试解决问题我已经改变了表达.Where( u => !nameFilter.Equals("") ? u.NAME.ToUpper().Contains( nameFilter.ToUpper() ) : true );
至
.Where( u => nameFilter.Length > 0 ? u.NAME.ToUpper().Contains( nameFilter.ToUpper() ) : true )
它奏效了。
我是 C# 和实体框架的新手,所以我想了解为什么将三元运算符与字符串进行比较时,在与“长度”进行比较时会以某种方式被忽略,这给了我预期的结果。是否有另一种方法可以使用 Entity Framework 运行此查询?
提前致谢。
c# - LINQ to XML 选择类似于 SQL IN 子句的元素
我有一些包含付款信息的 XML,其中包括付款所应用的发票的详细信息。例如,我想使用 LINQ to XML 仅收集适用于某些发票 (111,222,333) 的付款。如果是 SQL,我可以使用 IN (111,222,333) 关键字,但我不确定如何在 LINQ 中执行相同的操作。
LINQ
在此示例中,我想选择“PaymentId 1”和“PaymentId 2”,因为它们适用于 ID 匹配 111、222 或 333 的发票。
entity-framework - 实体框架方法语法命名约定
实体框架查询使用了哪些命名约定?例如,以下代码使用 'e. 他们为什么使用e?方法语法中委托缩写的命名约定策略是什么?这个问题不是征求意见,只是常见的命名约定。