我试图执行查询:
hmrSingle = dbMngr.Set<HistoryMessagesRequested>().Where(x => x.dateregistration == msgv.DtRicezione && x.val == msgv.value && x.parameter == dmf.Description && x.DeviceID == ms.IDDevice).FirstOrDefault();
dateregistration
和DtRicezione
在数据库上下文中都声明为DateTime?
,它们在MSSQL表中也都称为“日期时间”。
我不知道为什么这个问题持续存在。
答案 0 :(得分:1)
每次使用可为空的值类型时,都需要使用.value来获取其值。试试:
hmrSingle = dbMngr.Set<HistoryMessagesRequested>().Where(x => x.dateregistration.value == msgv.DtRicezione.value && x.val == msgv.value && x.parameter == dmf.Description && x.DeviceID == ms.IDDevice).FirstOrDefault();