在 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/

10-13 01:16