问题标签 [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.

0 投票
2 回答
573 浏览

c# - where子句MongoDB和LINQ中的哈希检查方法

我有包含图像和 DCT 哈希的集合。如何在 LINQ where 子句中使用 Similarity(long hash, long hashOther) 方法仅选择相似图像​​。
此查询无效:

出现序列化错误。

谢谢!

0 投票
1 回答
273 浏览

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 表达式?

谢谢你的帮助。

0 投票
1 回答
1279 浏览

c# - 带有 linq 查询语法的条件逻辑

我有以下条件,它执行两个查询之一,这些查询仅由附加子句不同

这是有条件的

现在,感谢https://stackoverflow.com/a/2850048/1170932我知道我可以将其更改为以下

这消除了代码重复,但会导致使用非常低效的外连接(可以理解,真的)。FTR 我们使用 MySQL 作为我们的数据库。

不幸的是,外部连接速度慢得令人无法接受。有没有办法在不生成外连接且不复制代码的情况下执行查询式条件?

0 投票
2 回答
2136 浏览

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:

0 投票
5 回答
1372 浏览

c# - linq 选择集合列动态

例如,我想在 linq 命令中通过动态选择 Col1 或 Col2

谢谢你的答案

我试试

但得到错误 LINQ to Entities 无法识别方法 'System.Type GetType()' 方法

0 投票
4 回答
5034 浏览

linq - Sitecore7 Linq to Sitecore 仅适用于 SearchResultItem 但不适用于自定义映射类

我有一个非常奇怪的问题,我无法理解。也许有人可以指出我做错了什么。

基本上,我只是想使用 Linq to Sitecore 搜索项目。

所以,我的课看起来像(我也在用玻璃)

因此,当我执行以下查询时,它会按预期工作。

但是,当我执行以下操作时,它返回 0 结果。

我已阅读此链接。我已经按照此处描述的第二个流程让 Glass 与 Sitecore7 Search 一起工作(“SharedFieldClass”包含所有基本索引字段)。

这是一个非常明显的场景,我敢肯定很多人已经这样做了,我在这里做了一些愚蠢的事情。

提前致谢。

/## 编辑 ##/

好的,所以我对此做了更多的挖掘。不确定这是否是 ContentSearch/Luncene.NET API 中的错误,或者我遗漏了一些东西,但似乎这里发布的内容可能不是 TRUE,如果您有一个复杂的字段类型(您会这样做),您无法使用映射类进行查询反对 Lucene。(不确定 Solr 是否也是这种情况)。如果您正在搜索字符串和 int 等简单类型,那么它就像一个魅力。

所以这是我的发现:

  1. 在为 contentsearch 启用 DEBUG 和 LOG 后,我发现如果我像这样查询context.GetQueryable<MyMappedClass>().Where(c => c.field1.MyValue == "{GUID}")它会被翻译成什么,DEBUG Executing lucene query: field1.value:7e9ed2ae07194d83872f9836715eca8e并且在名为“field1.value”的索引中没有这样的东西,查询不会返回任何内容。索引的名称实际上只是“field1”。这是一个错误吗?
  2. 但是,这样的查询context.GetQueryable<SearchResultItem>() .Where(c => ((string)c["field1"]) == "{GUID}").GetResults();有效,因为它被翻译成"DEBUG Executing lucene query: +field1:7e9ed2ae07194d83872f9836715eca8e".
  3. 我也确实在我的映射类中编写了一个方法,如下所示:

    /li>

这使我可以使用 MyMappedClass 编写以下查询。

这返回了预期的结果。但是未填充 MyMappedClass 中字段的值(实际上它们都是空的,除了填充文档中填充的核心/共享值,如 templateid、url 等)。所以结果列表几乎没有用。我可以对所有这些进行循环并手动获取填充的值,因为我有 itemid。但是想象一下大型结果集的成本。

最后我这样做了:

因此,在使用“IndexViewer2.0”的 lucene 查询中返回了填充的“field1”和 itemid。但是这对于 MyMappedClass 也失败了,因为文档中“field1”的值是 System.string .. 但它在MyMappedClass中被映射为“MyKeyValue”所以它抛出以下异常

所以,最大的问题是: 如何使用酷炫的 ContentSearch API 使用他/她的映射类进行查询?

0 投票
5 回答
31868 浏览

c# - Linq 查询获取最后一条记录

我知道这被问了很多次,我已经在网上搜索了大多数解决方案,但似乎没有什么适合我。我有一个具有这种结构的表:

我想通过传递 ScheduleId 来获得最后一个非空Filename(例如在这种情况下获取“test.txt”)。

我已经尝试了很多东西,但似乎没有什么能让我得到文件名。这是最后一个:

这也不起作用,尽管我理解它为什么不起作用:

调用.Last().LastOrDefault()抛出异常( The query operator 'LastOrDefault' is not supported.)

0 投票
1 回答
45 浏览

sql - 复杂 Sql 的实体框架查询

任何人都知道如何将其表示为实体框架查询?方法语法或查询语法都可以。

0 投票
1 回答
2065 浏览

c# - 当变量为空或为空时选择全部,否则选择过滤的值

我的 linq 查询总结如下 -

查询继续选择所需的值

CustomerID当值为 ALL/NULL时,如何选择所有值(如不带过滤器的 select * >>) 。?如何为此目的构建 where 子句?

我可以用 if else 重写相同的查询,以便有两个不同的查询来处理这个问题,但是有没有更简单的方法呢?

0 投票
1 回答
62 浏览

c# - 想在查询月份明智地总结费用

我想对 nvarchar 类型的“费用”列求和,并按 MonthID 对其进行分组