Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq找不到存在的匹配记录_C#_Asp.net Mvc 3_Linq_Entity Framework 4 - Fatal编程技术网

C# Linq找不到存在的匹配记录

C# Linq找不到存在的匹配记录,c#,asp.net-mvc-3,linq,entity-framework-4,C#,Asp.net Mvc 3,Linq,Entity Framework 4,我正试图在数据库中找到一条我知道存在的记录。使用此查询搜索时,未找到任何内容 List<OrganizationALE> ales = _ctx.OrganizationALEs.Where(c => c.OrganizationId.Equals(organizationId) && c.LastModified.Equals(modified) && c.StartDate.Equals(start)).ToL

我正试图在数据库中找到一条我知道存在的记录。使用此查询搜索时,未找到任何内容

List<OrganizationALE> ales =
                _ctx.OrganizationALEs.Where(c => c.OrganizationId.Equals(organizationId) && c.LastModified.Equals(modified) && c.StartDate.Equals(start)).ToList();
List-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)


我得到一个异常,比如说
序列不包含匹配的元素

我打赌这是因为
修改的
和/或
开始的
包含的毫秒在数据库中的存储精度不一样(
SQL Server中的datetime
),所以数据库中的比较失败


可能的解决方案有(第二点和第三点适用于您的情况)。基本上提供不太精确的
DateTime
值(切掉毫秒)或在SQL Server中使用
DateTime 2(7)
,或避免使用与
DateTime
值的相等比较,并使用
=
您是否尝试检查生成的SQL语句并对数据库手动运行它?是,如果您可以监视数据库会话并生成SQL语句,那就太好了。@DaveSwersky我该怎么做?@DaveSwersky我想它会发布在上面,谢谢