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我想它会发布在上面,谢谢