如果表没有行,如何返回日期"1900/12/12 00:00:00"
?我正在尝试获取最大交易日期,并且如果表中有行,它会很好地工作,否则由于ToString()
中的日期格式,我会收到一条错误消息。
string d = context.AllTransactions.Where(t => t.ID == OID)
.Max(t => t.TransactionDate).ToString("dd/MM/yyyy HH:mm:ss");
TransactionDate
是NOT NULL datetime
字段。
答案 0 :(得分:0)
在DefaultIfEmpty
之前使用.Max
方法(由于它是对实体的限制,因此您将无法创建新的交易对象,然后仅投影日期):
var result = context.AllTransactions.Where(t => t.ID == OID)
.Select(t => t.TransactionDate)
.DefaultIfEmpty(new DateTime(1900,12,12)).Max();