我正在尝试查找我知道存在于数据库中的记录。使用此查询搜索时,找不到任何内容。
List<OrganizationALE> ales =
_ctx.OrganizationALEs.Where(c => c.OrganizationId.Equals(organizationId) && c.LastModified.Equals(modified) && c.StartDate.Equals(start)).ToList();
但是当我使用这个查询进行搜索时,结果显然是使用了watch。
如果我尝试使用
将它拉到下一行 var found = ales.First(a => a.LastModified == modified);
我得到一个例外Sequence contains no matching element
答案 0 :(得分:2)
我敢打赌,因为modified
和/或start
包含的毫秒数在数据库中没有以相同的精度存储(SQL Server中为datetime
?),因此比较失败了数据库。
可能的解决方案是here(第二点和第三点适用于您的情况)。基本上提供不太精确的DateTime
值(切断毫秒)或在SQL Server中使用datetime2(7)
或避免使用DateTime
值的等式比较并使用>=
和{{1}而不是。