我在项目中使用 System.Linq.Dynamic.Core
库来生成查询。当传递给我的参数是一个日期字符串时,我想做到以下的动态等效:
db.EntityName
.Where(x => x.StartDate > DateTime.ParseExact("02/19/2018", "MM/dd/yyyy", CultureInfo.InvariantCulture))
我发现下面的查询是有效的:
db.EntityName
.Where($"x => x.StartDate.ToFileTime() > { DateTime.ParseExact("02/19/2018", "MM/dd/yyyy", CultureInfo.InvariantCulture).ToFileTime() }")
这种方法正确吗?它对StartDate
进行了转换,我不确定这是否会导致性能问题。这样做可以吗?还是有更好的方法?