问题标签 [linq-query-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.
c# - where子句MongoDB和LINQ中的哈希检查方法
我有包含图像和 DCT 哈希的集合。如何在 LINQ where 子句中使用 Similarity(long hash, long hashOther) 方法仅选择相似图像。
此查询无效:
出现序列化错误。
谢谢!
c# - 创建批量文件的算法
我有一个目录,其中所有不同版本的文件都可用。喜欢,
ABC.pdf ABC_1.pdf .......
XYZ.tif ..... XYZ_25.tif
MNO.tiff
我想根据使用的要求制作 n 批 m 文件。
假设,在文件夹中我有 ABC.pdf 到 ABC_24.pdf 和 XYZ.tif 到 XYZ_24.tif 文件。共 50 个文件。我想创建两批,每批 25 个文件。因此,首先(我/如何)需要确保列表中的所有文件都已排序,然后我可以执行一些逻辑将列表分成两个适当的批次。
1) ABC.pdf 到 ABC_24.pdf
2) XYZ.tif 到 XYZ_24.tif
但是如果我有 26 个文件(如开头所述),那么它就像
1) ABC.pdf 到 ABC_24.pdf
2) XYZ.tif 到 XYZ_24.tif
3) ABC_25.pdf 和 XYZ_25.tif
所以,我想在这里正确/有意义地批量分配文件。我宁愿在尽可能少的台词中表演。所以,我尝试了如下的 lambda 表达式:
我需要使用 - strIPFiles.Sort(); 无论如何它会有用还是我总是会得到排序的文件列表?
如何从列表中创建批次 - 使用如上所述的 lambda 表达式?
谢谢你的帮助。
c# - 带有 linq 查询语法的条件逻辑
我有以下条件,它执行两个查询之一,这些查询仅由附加子句不同
这是有条件的
现在,感谢https://stackoverflow.com/a/2850048/1170932我知道我可以将其更改为以下
这消除了代码重复,但会导致使用非常低效的外连接(可以理解,真的)。FTR 我们使用 MySQL 作为我们的数据库。
不幸的是,外部连接速度慢得令人无法接受。有没有办法在不生成外连接且不复制代码的情况下执行查询式条件?
c# - Force inner join with many-to-many relationship entity framework
I have a many-to-many relationship setup in my database like so:
When I run this LINQ query on the DbContext:
The SQL generated contains all inner joins which is what I want:
However, when I add a simple extra where clause:
The SQL generated now uses a sub-query:
Maybe I am missing something, but I would think EF would just add another join back to the User table for this query and be able to do a where on User.Last instead of doing a sub-query. Is there any way to force this kind of behavior? Am I doing something wrong?
Thanks.
UPDATE
Cosmin, I am wanting the query to come out like this:
c# - linq 选择集合列动态
例如,我想在 linq 命令中通过动态选择 Col1 或 Col2
谢谢你的答案
我试试
但得到错误 LINQ to Entities 无法识别方法 'System.Type GetType()' 方法
linq - Sitecore7 Linq to Sitecore 仅适用于 SearchResultItem 但不适用于自定义映射类
我有一个非常奇怪的问题,我无法理解。也许有人可以指出我做错了什么。
基本上,我只是想使用 Linq to Sitecore 搜索项目。
所以,我的课看起来像(我也在用玻璃)
因此,当我执行以下查询时,它会按预期工作。
但是,当我执行以下操作时,它返回 0 结果。
我已阅读此链接。我已经按照此处描述的第二个流程让 Glass 与 Sitecore7 Search 一起工作(“SharedFieldClass”包含所有基本索引字段)。
这是一个非常明显的场景,我敢肯定很多人已经这样做了,我在这里做了一些愚蠢的事情。
提前致谢。
/## 编辑 ##/
好的,所以我对此做了更多的挖掘。不确定这是否是 ContentSearch/Luncene.NET API 中的错误,或者我遗漏了一些东西,但似乎这里发布的内容可能不是 TRUE,如果您有一个复杂的字段类型(您会这样做),您无法使用映射类进行查询反对 Lucene。(不确定 Solr 是否也是这种情况)。如果您正在搜索字符串和 int 等简单类型,那么它就像一个魅力。
所以这是我的发现:
- 在为 contentsearch 启用 DEBUG 和 LOG 后,我发现如果我像这样查询
context.GetQueryable<MyMappedClass>().Where(c => c.field1.MyValue == "{GUID}")
它会被翻译成什么,DEBUG Executing lucene query: field1.value:7e9ed2ae07194d83872f9836715eca8e
并且在名为“field1.value”的索引中没有这样的东西,查询不会返回任何内容。索引的名称实际上只是“field1”。这是一个错误吗? - 但是,这样的查询
context.GetQueryable<SearchResultItem>() .Where(c => ((string)c["field1"]) == "{GUID}").GetResults();
有效,因为它被翻译成"DEBUG Executing lucene query: +field1:7e9ed2ae07194d83872f9836715eca8e"
. 我也确实在我的映射类中编写了一个方法,如下所示:
/li>
这使我可以使用 MyMappedClass 编写以下查询。
这返回了预期的结果。但是未填充 MyMappedClass 中字段的值(实际上它们都是空的,除了填充文档中填充的核心/共享值,如 templateid、url 等)。所以结果列表几乎没有用。我可以对所有这些进行循环并手动获取填充的值,因为我有 itemid。但是想象一下大型结果集的成本。
最后我这样做了:
因此,在使用“IndexViewer2.0”的 lucene 查询中返回了填充的“field1”和 itemid。但是这对于 MyMappedClass 也失败了,因为文档中“field1”的值是 System.string .. 但它在MyMappedClass中被映射为“MyKeyValue”所以它抛出以下异常
所以,最大的问题是: 如何使用酷炫的 ContentSearch API 使用他/她的映射类进行查询?
c# - Linq 查询获取最后一条记录
我知道这被问了很多次,我已经在网上搜索了大多数解决方案,但似乎没有什么适合我。我有一个具有这种结构的表:
我想通过传递 ScheduleId 来获得最后一个非空Filename
(例如在这种情况下获取“test.txt”)。
我已经尝试了很多东西,但似乎没有什么能让我得到文件名。这是最后一个:
这也不起作用,尽管我理解它为什么不起作用:
调用.Last()
或.LastOrDefault()
抛出异常( The query operator 'LastOrDefault' is not supported.
)
sql - 复杂 Sql 的实体框架查询
任何人都知道如何将其表示为实体框架查询?方法语法或查询语法都可以。
c# - 当变量为空或为空时选择全部,否则选择过滤的值
我的 linq 查询总结如下 -
查询继续选择所需的值
CustomerID
当值为 ALL/NULL时,如何选择所有值(如不带过滤器的 select * >>) 。?如何为此目的构建 where 子句?
我可以用 if else 重写相同的查询,以便有两个不同的查询来处理这个问题,但是有没有更简单的方法呢?
c# - 想在查询月份明智地总结费用
我想对 nvarchar 类型的“费用”列求和,并按 MonthID 对其进行分组