我正在尝试针对实体框架运行以下内容,但收到有关GetValueOrDefault()
var today = DateTime.Today;
var list = context.MemberGroupPermissions
.Where(m => m.Date.GetValueOrDefault().Date == today.Date);
如何比较一个可以为空的2个日期?
答案 0 :(得分:0)
对于问题的可空部分,您可以先检查是否存在值,如果是,则进行比较。
但是它会抱怨使用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);