0

我想为一个小型数据库应用程序编写一个简单的表达式语言和 LINQ to Entities 翻译器。翻译者应该简单地将表达式翻译成 linq 查询,例如

[Project Participants] > 50 AND [Project Duration in Months] < 4

应转换为类似的 LINQ 查询

from p in projects where p.Participants.Count > 50 && p.Duration < 4 select p;

在运行时动态。

我的目标是将用户特定的约束存储在数据库中,并使用这些约束使用实体框架按需生成项目列表。进行这种“翻译”的好习惯是什么?

非常感谢,问候

4

1 回答 1

1

我的建议是使用 ScottGu 的动态 LINQ 库,可在此处找到:

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

基本上,您可以将简单的表达式语言解析为字符串,并使用一些 YACC 样式的代码在运行时构建适当的 LINQ 查询部分。

于 2012-07-25T15:35:02.157 回答