是否可以将LINQ命令存储为字符串,然后在运行时执行?

时间:2014-03-06 16:50:36

标签: c# linq linq-to-entities

我正在使用MVC3,Razor,C#和EF4.1。

我正在尝试实现一些规则处理逻辑,并且目前使用优秀的FLEE规则处理器。所以规则如:

a>1 and a<100

可以存储在DB中并在运行时进行处理。大。然而,这假设我可以预加载“a”,在简单的情况下我可以。但是有时我需要更详细地查询我的查询,动态类型的LINQ会很棒,即

context.animals.first(r=>r.specie=="dog").Name

然后可以在完整的规则中使用它,如:

(context.animals.first(r=>r.specie=="dog").Name) = "Rover"

在FLEE中是“=”而不是“==”btw。

那么可以实现动态LINQ查询以及如何实现?

我能想到的另一种方法是替换和使用开关,即:

{DogName}="Rover"

switch (argname)
{
case "DogName" :
  myValue = db.Animals.First(r=>r.specie=="Dog").Name
  break;
}

0 个答案:

没有答案