Asp.net 使用可空日期实体框架进行查询
我试图在实体框架上运行以下命令,但得到一个关于Asp.net 使用可空日期实体框架进行查询,asp.net,entity-framework-5,Asp.net,Entity Framework 5,我试图在实体框架上运行以下命令,但得到一个关于GetValueOrDefault() 如何比较其中一个日期可为空的两个日期?对于问题中可为空的部分,您可以先检查是否有值,如果有,则进行比较 但是它会抱怨使用了Date属性,您可以使用EntityFunctions.TruncateTime DateTime date = DateTime.Now.Date; var holding = context.AVRHoldings .Where(x => x.Ex
GetValueOrDefault()
如何比较其中一个日期可为空的两个日期?对于问题中可为空的部分,您可以先检查是否有值,如果有,则进行比较 但是它会抱怨使用了
Date
属性,您可以使用EntityFunctions.TruncateTime
DateTime date = DateTime.Now.Date;
var holding =
context.AVRHoldings
.Where(x => x.ExpirationDate.HasValue && x.ExpirationDate.Value == date)
.FirstOrDefault();
Assert.IsNotNull(holding);
holding =
context.AVRHoldings
.Where(x =>
x.ExpirationDate.HasValue &&
EntityFunctions.TruncateTime(x.ExpirationDate.Value) == date.Date)
.FirstOrDefault();
Assert.IsNotNull(holding);
你犯了什么错误?如果其中一个为空,您希望发生什么?
DateTime date = DateTime.Now.Date;
var holding =
context.AVRHoldings
.Where(x => x.ExpirationDate.HasValue && x.ExpirationDate.Value == date)
.FirstOrDefault();
Assert.IsNotNull(holding);
holding =
context.AVRHoldings
.Where(x =>
x.ExpirationDate.HasValue &&
EntityFunctions.TruncateTime(x.ExpirationDate.Value) == date.Date)
.FirstOrDefault();
Assert.IsNotNull(holding);