首页 > 解决方案 > Linq 动态查询(除了 SQL SERVER 端)

问题描述

我想返回日期列大于的记录DateTime.Now.AddDays(-3),但前提是类型列是完整的。意思是,我想返回除超过 3 天且类型为 == 完整(枚举 1)的记录之外的所有内容。

这几乎就像我需要除外,但为此,我需要枚举结果,然后我不会有我的结果页码 (.Take(10))。

这将如何在 linq 中完成?我无法弄清楚这个查询的外观。我希望尽可能多地在 SQL SERVER 端完成查询以提高效率。

明确一点 - 我想要所有结果,除了已完成且超过 3 天的记录。

(完成意味着类型列值== 1(枚举))

我的项目是 .NetCore 3.1

谢谢

标签: c#sql-serverlinqentity-framework-core

解决方案


这可能是你需要的吗?

  Var results = context.Entity.Where(x=> x.Type != enum.Completed ||( x.Type == enum.Completed && x.Date >=DateTime.Now.AddDays(-3)));

推荐阅读