我想从我的sql数据库中获取数据,这些数据都来自指定的日期或今天的日期。只需今天的所有数据。字段“Zeitsempel”来自DateTime类型。我找了一些解决方案,发现了这个:
var query =
from z in context.zeichnungs
where EntityFunctions.TruncateTime(z.Zeitstempel) == EntityFunctions.TruncateTime(DateTime.Now)
select z;
我遇到的问题是,当我使用像这样的查询数据时
foreach (zeichnung zeichnung in query)
{
if (!zeichnung.Status.Equals("gelöscht"))
{
zeichnungInDB = new ZeichnungInDB(zeichnung.Zeichnungsnummer, zeichnung.Index, zeichnung.Volante_Index, zeichnung.Dateiendung, zeichnung.Dokumententyp);
zeichnungen.Add(zeichnungInDB);
}
}
我得到一个EntityCommandExecutionException。 有人对我的问题有所了解吗?
答案 0 :(得分:2)
不要对EntityFunctions.TruncateTime
生成的内存中值DateTime.Now
使用var query =
from z in context.zeichnungs
where EntityFunctions.TruncateTime(z.Zeitstempel) == DateTime.Today
select z;
。请改用DateTime.Today
:
a,1
b,2
c,4
j,20
答案 1 :(得分:1)
使用DateTime.Today。 DateTime.Today表示当前系统日期,时间部分设置为00:00:00
和
DateTime.Now表示当前系统日期和时间
了解有关DateTime的更多信息: Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo