你能弄明白我怎样才能比较它们?我的意思是当我将数据库时间与模型时间进行比较时,它给了我这个错误:
operator'=='不能应用于'system.timespan'类型的操作数 和'system.datetime'
以及ehours
var isExist = db.CRoom_Tb.Any(x => x.Rooms == b.Rooms && x.Check_In == b.Check_In && x.Hours == b.Hours && x.EHours == b.EHours);
我的模特:
[DataType(DataType.Time)]
[DisplayFormat(DataFormatString = "{0:t}", ApplyFormatInEditMode = true)]
public DateTime EHours { get; set; }
[DataType(DataType.Time)]
[DisplayFormat(DataFormatString = "{0:t}", ApplyFormatInEditMode = true)]
public DateTime Hours { get; set; }
我的数据库:
Hours time(7)
EHours time(7)
答案 0 :(得分:4)
错误非常明确,在此处有描述性。您正在将可空的Timespan(Timespan?)与DateTime进行比较。在您发布的模型代码中,您可以清楚地看到它是一个DateTime对象。
这应该很容易在代码中解决,但DateTime有一个.TimeOfDay函数,它将DateTime对象的时间部分作为TimeSpan返回。
试试这个:
var isExist = db.CRoom_Tb.Any(x => x.Rooms == b.Rooms &&
x.Check_In == b.Check_In &&
x.Hours == b.Hours.TimeOfDay &&
x.EHours == b.EHours.TimeOfDay);