gpt4 book ai didi

c# - DbFunctions.DiffDays() 结果为 : This function can only be invoked from LINQ to Entities

转载 作者:行者123 更新时间:2023-11-30 16:44:56 34 4
gpt4 key购买 nike

在哪里results1是一个 IQuerable<myObject>在您尝试按日期过滤之前效果很好:

results1 = results1.Where(l => DbFunctions.DiffDays(FromDate, l.LeadDate) >= 0);

然后我得到这个错误:

This function can only be invoked from LINQ to Entities

我在这里看到了一些让我接近答案的其他话题,like this one ,但它完全不同,我不确定如何重新制定此过滤器,以便它不会尝试在内存中执行此操作(这就是为什么我认为错误正在发生?)

编辑:

查询太复杂,无法在 Linq 中运行。我以为这会是一样的,但也许不是?

var query1 = @"
SELECT
// columns that match the object 'myObject'
FROM
// a whole bunch of joins and left joins
ORDER BY
....";
var results1 = Context.DbContext.Database.SqlQuery<myObject>(query1).AsQueryable();

最佳答案

可以使用 DateTime.SubtractTimeSpan.Days 吗?

results1 = results1.Where(l => FromDate.Subtract(l.LeadDate).Days >= 0).ToList();

关于c# - DbFunctions.DiffDays() 结果为 : This function can only be invoked from LINQ to Entities,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42934531/

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