x.DailyDate.Date.Equals(DateTime.Now.Date)).ToList(); "Th-6ren">
gpt4 book ai didi

c# - "The specified type member ' 日期 ' is not supported in LINQ "

转载 作者:太空狗 更新时间:2023-10-29 23:54:11 25 4
gpt4 key购买 nike

_dbEntities.EmployeeAttendances.Where(x => x.DailyDate.Date.Equals(DateTime.Now.Date)).ToList();

"The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported."

如何在 linq 查询中获取基于当前日期的员工数据?

最佳答案

EntityFramework 无法将 DateTime.Date 转换为 SQL。因此,它无法生成预期的 SQL。如果你想获得仅限 Date 部分:

 _dbEntities.EmployeeAttendances
.Where(x => EntityFunctions.TruncateTime(x.DailyDate) == DateTime.Now.Date)
.ToList();

附加信息:

EntityFunctions 方法称为规范函数。这些是一组功能,所有 Entity Framework 提供程序都支持这些功能。这些规范函数将被转换为提供者的相应数据源功能。规范函数是访问核心语言之外的功能的首选方式,因为它们使查询保持可移植性。

您可以找到所有规范函数 here和所有日期和时间规范函数 here .

更新:

自 EF6 起,EntityFunctions 已弃用 System.Data.Entity.DbFunctions

关于c# - "The specified type member ' 日期 ' is not supported in LINQ ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28381268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com