C# EF 6跳过列为空的所有记录,从结果获取行';N';
我有以下EF Linq查询:C# EF 6跳过列为空的所有记录,从结果获取行';N';,c#,entity-framework,linq,C#,Entity Framework,Linq,我有以下EF Linq查询: var face = de.Faces.OrderBy(f => f.id).Skip(recordNumber) .FirstOrDefault(fd => fd.FuzzyHash != null); 它应该做什么,但失败的是: 从具有现有模糊灰烬的面获取第n个recordNumber 有人可以修复查询并向我解释修复方法吗?我做错了什么?EF Linq的运行方式与您逻辑思考这个问题的方式非常相似 我需要从一个有序的面列表
var face = de.Faces.OrderBy(f => f.id).Skip(recordNumber)
.FirstOrDefault(fd => fd.FuzzyHash != null);
它应该做什么,但失败的是:
recordNumber
有人可以修复查询并向我解释修复方法吗?我做错了什么?EF Linq的运行方式与您逻辑思考这个问题的方式非常相似 我需要从一个有序的面列表中获取第n条记录,其中某些列不为null 首先,获取非空列面列表,然后排序,然后跳过,然后获取记录
var face = de.Faces.Where(fd => fd.FuzzyHash != null).OrderBy(f =>
f.id).Skip(recordNumber).FirstOrDefault();
EF Linq的运行方式很像您逻辑地思考这个问题 我需要从一个有序的面列表中获取第n条记录,其中某些列不为null 首先,获取非空列面列表,然后排序,然后跳过,然后获取记录
var face = de.Faces.Where(fd => fd.FuzzyHash != null).OrderBy(f =>
f.id).Skip(recordNumber).FirstOrDefault();
您需要删除
FuzzyHash
为空的所有记录
var face = de.Faces.Where(r => null != r.FuzzyHash).OrderBy(f => f.id).Skip(recordNumber)
.FirstOrDefault();
您需要删除
FuzzyHash
为空的所有记录
var face = de.Faces.Where(r => null != r.FuzzyHash).OrderBy(f => f.id).Skip(recordNumber)
.FirstOrDefault();
当前查询将跳过N条记录,然后获取具有
FuzzyHash
的第一条记录
您要做的是首先过滤记录,以仅包括具有模糊灰烬的记录,然后跳过N条记录,如下所示:
var face = de.Faces
.Where(fd => fd.FuzzyHash != null)
.OrderBy(f => f.id)
.Skip(recordNumber) //shouldn't this be recordNumber - 1?
.FirstOrDefault();
当前查询将跳过N条记录,然后获取具有FuzzyHash
的第一条记录
您要做的是首先过滤记录,以仅包括具有模糊灰烬的记录,然后跳过N条记录,如下所示:
var face = de.Faces
.Where(fd => fd.FuzzyHash != null)
.OrderBy(f => f.id)
.Skip(recordNumber) //shouldn't this be recordNumber - 1?
.FirstOrDefault();
不是Linq to Entities专家,所以我可能错了,但在我看来,在使用Skip()
之前,您需要过滤具有空值的行。因此,您要查找的可能是de.Faces.Where(f=>f.FuzzyHash!=null).OrderBy(f=>f.id).Skip(recordNumber)
。不是Linq to Entities专家,所以我可能错了,但在我看来,在使用Skip()
之前,您需要过滤具有null值的行。因此,您要查找的可能是de.Faces.Where(f=>f.FuzzyHash!=null).OrderBy(f=>f.id).Skip(recordNumber)
。我认为这应该可以工作,尽管FirstOrDefault
中的过滤器是多余的。我认为这应该可以工作,虽然FirstOrDefault
中的过滤器是多余的。同意recordNumber-1
如果基于1+1用于良好的格式设置(对于其他相同的答案):)recordNumber是基于0的,其中我不使用查询的跳过变量。对,如果recordNumber
是基于零的,那么您应该跳过recordNumber
项。同意recordNumber-1
如果基于1+1用于良好的格式设置(对于其他相同的答案):)recordNumber是基于0的,其中我不使用查询的跳过变量。对,如果recordNumber
是基于零的,那么您应该跳过recordNumber
项。