繁体   English   中英

使用实体框架仅从日期时间值获取日期部分

[英]get date part only from datetime value using entity framework

我只想从数据库“日期时间”值中获取日期部分我正在使用以下代码..但它正在获取日期和时间部分。

using (FEntities context = new FEntities())
{
    DateTime date = DateTime.Now;
    if (context.tblvalue.Any(x => x.date == date))
    {    
    }
}

您可以只比较指定的部分:

context.tblvalue.Any(x => x.date.Year == data.Year 
                        && x.date.Month == data.Month 
                        && x.date.Day == data.Day);

编辑:您还可以尝试以下操作:

context.tblvalue.Any(x => EntityFunctions.TruncateTime(x.date) == data.Date);

另一种方法:

context.tblvalue.Any(x =>  SqlFunctions.DatePart("year", x.date)  == data.Year 
                        && SqlFunctions.DatePart("month", x.date) == data.Month 
                        && SqlFunctions.DatePart("day", x.date)   == data.Day);

与实体框架 6 和更新使用

context.tblvalue.Any(x => DbFunctions.TruncateTime(x.date) == data.Date);
context.Database.SqlQuery<T>(sql, sql_parameters)

在第一个参数中接受纯 SQL。 使用 MS SQL 服务器的函数 CONVERT(VARCHAR(6), date_value, 112) AS MonthYYYYmm 来检索带月的年。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM