我正在使用 Entity Framework 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
DateOfBirth
的 DataType
是 Date
,因此我们需要 TruncateTime 时间。
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() 方法
而使用 .FirstOrDefault() Method
关于entity-framework - Entity Framework 日期时间与 SQL Server 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14444267/