Sno*_*ogg 4 c# linq-to-entities nullable
我有这种方法应该从称为ENTRY的表(&EntitySet)中获取最新消息的发布
///方法获取“天”作为参数,用于新的TimeSpan(days,0,0,0); !!
using (Entities db = new Entities())
{
var entries = from ent in db.ENTRY
where ent.DATECREATE.Value > DateTime.Today.Subtract(new TimeSpan(days, 0, 0, 0))
select new ForumEntryGridView()
{
id = ent.id,
baslik = ent.header,
tarih = ent.entrydate.Value,
membername = ent.Member.ToString()
};
return entries.ToList<ForumEntryGridView>();
}
Run Code Online (Sandbox Code Playgroud)
在这里,DATECREATED在数据库中为空。我无法在此查询中放置“如果” ...以任何方式进行检查?提前Thx
万一DATECREATED是要做null什么?
如果只想忽略这些记录,请使用其他条件(或where子句):
var entries = from ent in db.ENTRY
where ent.DATECREATED.HasValue && ent.DATECREATED.Value > ...
Run Code Online (Sandbox Code Playgroud)
好吧...您可以通过简单地使用排除 DATECREATED 等于 null 的条目
entries = from ent in db.ENTRY
where ent.DATECREATED != null
where ent.DATECREATE.Value > DateTime.Today....
Run Code Online (Sandbox Code Playgroud)
并将它们包括在内
entries = from ent in db.ENTRY
where ent.DATECREATED == null ||
ent.DATECREATE.Value > DateTime.Today.....
Run Code Online (Sandbox Code Playgroud)
但我不确定一旦第一个条件为真,第二个查询是否实际上停止检查 where 子句。