2

我正在使用实体框架 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();
    }

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

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

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

谢谢。

4

2 回答 2

3

的实际结果var dt = new DateTime(1967, 08, 03);8/3/1967 12:00:00 AM

因此我们需要 TruncateTime时间DataTypeDateOfBirthDate

msdn:EntityFunctions.TruncateTime 方法

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() 方法

于 2013-01-21T17:53:47.837 回答
0

仅供参考,添加到 spajce 的答案,

System.Data.Entity.Core.Objects.EntityFunctions

已弃用

System.Data.Entity.DbFunctions
于 2015-10-14T01:59:49.173 回答