我正在尝试创建一个如下所示的列表。
出于某种原因,它遵循前两个条件,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/