c# - Entity Framework 中的 SqlMethods.DateDiffMonth

标签 c# entity-framework

有谁知道 Entity Framework 中 SqlMethods.DateDiffMonth 的替代品是什么。

这是我在尝试使用它时遇到的错误。

LINQ to Entities 无法识别“Int32 DateDiffMonth(System.DateTime, System.DateTime)”方法,并且无法将此方法转换为存储表达式。

最佳答案

目前看来,您需要使用有效调用 SQLServer DATEDIFF 方法的 eSQL 语句来表达这一点

例如:

db.entity.Where("SqlServer.DATEDIFF('MONTH', [start date], [end date]) = 1");

(有关详细信息,请参阅 here)

但是,当 .NET Framework 版本 4.0 发布时(或者如果您喜欢玩 beta 软件,现在就可以使用它!:) 您应该可以使用 DateDiff method新的 SqlFunctions class ,这是新的 System.Data.Objects.SqlClient Namespace 的一部分在 .NET 4.0 中

关于c# - Entity Framework 中的 SqlMethods.DateDiffMonth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/535063/

相关文章:

C# 聊天 wpf 应用程序

c# - 如何使用 Entity Framework 处理可选表?

c# - 在时间范围内对获取项目进行分组

c# - ASP.NET MVC4 Code First - 数据验证不起作用

c# - Linq 存储过程返回 XML

c# - 可以使用 DbModelBuilder 声明复合主键吗?

c# - 阻塞和等待一个事件

c# - GetLength() 方法在数组上无法按预期工作

c# - REST API 健康检查

c# - 从字节数组或流中获取文件名