在 EF 中进行比较时,我不知道如何从数据中排除时间。
using (var db = new DbContext())
{
var query = from n in db.BDatas
orderby n.AddDate,n.CountryCode
where n.CountryCode=="GB"
&& (n.AddDate >= stdate.Date && n.AddDate <= etdate)
select n;
}
我想我上面的查询将包括比较发生的日期和时间。所以告诉我该怎么做?
最佳答案
您不需要从 SQL 比较中排除时间。您可以从您传递的参数中排除时间:
using (var db = new DbContext())
{
var startDate = stdate.Date;
var endDate = etDate.Date.AddDays(1);
var query = from n in db.BDatas
orderby n.AddDate,n.CountryCode
where n.CountryCode=="GB"
&& (n.AddDate >= startDate && n.AddDate < endDate)
select n;
}
请注意,我使用了
< endDate
并添加了一天。因此,您将获得前一天任何时间的结果。关于C# EF : How to search between two dates in EF but want to exclude time from data,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42112727/