【发布时间】:2009-09-30 15:25:46
【问题描述】:
我有一个名为 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 并四处寻找,但我已经成功地绞尽脑汁试图解决这个问题。当然我可以向我的实体添加另一个属性并在那里转换它,但我真的很想了解这一点。任何人都可以解释或给出一个不会让我大吃一惊的例子/链接吗?
提前致谢
标记
【问题讨论】:
标签: linq linq-to-entities expression-trees predicate