有谁知道 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/