我有一个名为 Enquiry 的 linq 实体,它有一个属性:字符串 DateSubmitted。
我正在编写一个应用程序,我需要返回 IQueryable 以进行在特定日期范围内具有 DateSubmitted 的查询。
理想情况下,我想写一些类似的东西
IQueryable<Enquiry> query = Context.EnquirySet.AsQueryable<Enquiry>();
int dateStart = int.Parse("20090729");
int dateEnd = int.Parse("20090930");
query = (from e in query
where(enq => int.Parse(enq.DateSubmitted) < dateEnd)
where(enq => int.Parse(enq.DateSubmitted) > dateStart)
select e);
显然 Linq to EF 不能识别 int.Parse,所以我想我可以通过返回谓词的 Expression 方法来实现我想要的???
我一直在玩 PredicateBuilder 并四处寻找,但我已经成功地绞尽脑汁试图解决这个问题。当然我可以向我的实体添加另一个属性并在那里转换它,但我真的很想了解这一点。任何人都可以解释或给出一个不会让我发疯的例子/链接吗?
提前致谢
标记