实体框架日期时间与 SQL Server 日期



我正在使用实体框架 4.3。在我的SQL Server 2008数据库中,我有一些日期存储为日期而不是日期时间。

我需要使用日期字段检索数据,这里是测试代码示例:

    public static Applicant Create()
    {   
        var dt = new DateTime(1967, 08, 03);
        var r = new CrudRepo<Applicant>(UowHelper.GetUow().Context);
        return r.Find(a => a.DateOfBirth == dt).Single();
    }

但是,我遇到了"缺少序列"的问题。

关于我如何解决这个问题的任何想法?

我还需要在某个时候更新数据库。

谢谢。

var dt = new DateTime(1967, 08, 03);的实际

结果是8/3/1967 12:00:00 AM

DateOfBirthDataTypeDate,因此我们需要截断时间。

msdn: EntityFunctions.TruncateTime Method

public static Applicant Create()
    {   
        var dt = new DateTime(1967, 08, 03);
        var r = new CrudRepo<Applicant>(UowHelper.GetUow().Context);
        return r.FirstOrDefault(a => a.DateOfBirth == EntityFunctions.TruncateTime(dt));
    }

或者删除.Single() method,改用 .FirstOrDefault() 方法

供参考,补充一下spajce的答案,

System.Data.Entity.Core.Objects.EntityFunctions

已弃用到

System.Data.Entity.DbFunctions

最新更新