Linq2Sql - 以明文(linq)存储Linq表达式以供将来动态执行

时间:2009-10-15 15:41:21

标签: linq linq-to-sql

我最近发布了这个:

Linq2Sql - Storing Complex Linq Queries for future dynamic execuction - raw text - possible?

它回答了一个问题,但是由于subQuery需要引用原始查询已存在的同一个表,因此将其发送到不同的路径。

我能够使用“let”关键字在Linqpad中完成我想做的事。

来自DataEventView中的posMain 让posSub =来自DataEventView中的posSub1,其中posSub1.CheckNumber == posMain.CheckNumber&& posSub1.EventTypeID == 7选择posSub1 其中posMain.EventTypeID == 6&& posSub.Any() 选择posMain

这有效地创建了我一直试图做的子查询。

现在,我在想 - 我真的想在内存中动态创建IQueryable对象,然后我的应用程序可以引用它,并继续根据需要添加表达式。

我在想我将不得不使用CodeDom来做这件事,但是可能有更优雅的方式让IQueryable从Raw Text开始。有没有人必须存储linq语句以备将来执行?这些语句对于每个客户都是动态的,因此它们不能仅仅被编入框架中。也许有更好的主意?

提前致谢。

特拉维斯

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以使用表达式树。

提供了一些样本here