c# Linq 方法不遵循我设置的条件之一

标签 c# linq asp.net-core c#-6.0

我正在尝试创建一个如下所示的列表。

出于某种原因,它遵循前两个条件,isPublished 和 IsRPG == false。但它忽略了 ShelfDate。

我想要 ShelfDate 大于或等于当前日期的所有游戏。

但它会显示具有任何 ShelfDate 的游戏...

顺便说一句 ShelfDate 是 DateTime 类型。

这是我的代码:

var games = await _context.Game
   .Where(x => x.IsPublished == isPublished && x.IsRPG == false && x.ShelfDate >= DateTime.Now)
   .Select(x => new GameEntity
   { ... }

以下是 Game 和 GameEntity 的模型:
public partial class Game
{
    public long Id { get; set; }
    public string Title { get; set; }
    public DateTime ShelfDate { get; set; }
    public DateTime IsPublished { get; set; }
    public bool IsRPG { get; set; }
    public string Description { get; set; }
}   


public partial class GameEntity
{
    public string Title { get; set; }
    public DateTime ShelfDate { get; set; }
    public DateTime IsPublished { get; set; }
    public bool IsRPG { get; set; }
}      

我做错了什么吗?

我没有收到任何错误。

谢谢!

最佳答案

把回应放在这里。
DateTime.Now不被您的数据提供者识别,并且需要提前设置并且不被查询评估,假设您使用的是 Entity Framework 。

关于c# Linq 方法不遵循我设置的条件之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62195485/

相关文章:

c# - EntityFramework Core 2.2 到 3.1.1 出现错误

c# - Net Core : Difference between . Startup.Cs 中的 SetBasePath 和 .UseContentRoot

c# - 如何使用 RestSharp 使用 JWT 访问 token 和用户声明

c# - 使用公开加密/解密值的单独类通过 Entity Framework 加密解密数据 : Linq statements fails

c# - 违背得墨忒尔法则的搜索工具?

c# - try catch 跳过异常

c# - 在 Entity Framework 中将 tinyint 字段表示为枚举

asp.net-core - 使用 ASP.NET Core Web API 将依赖项注入(inject)验证属性

c# - 如何抽象数据库层?

c# - MVC 6 HttpResponseException