Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在运行时使用字符串构建动态linq查询?_C#_Linq_Dynamic - Fatal编程技术网

C# 如何在运行时使用字符串构建动态linq查询?

C# 如何在运行时使用字符串构建动态linq查询?,c#,linq,dynamic,C#,Linq,Dynamic,讨论使用字符串构建动态查询是否可能 我试过了 var ase = a.Select("NEW(activity_date as date)"); 但它不起作用 方法的类型参数 'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable, System.Func)“”不能 可以从用法推断。尝试 指定类型参数 明确地说 如何使用字符串在运行时构建动态linq查询?在linq samples目录中有一个很酷的动态linq

讨论使用字符串构建动态查询是否可能

我试过了

var ase = a.Select("NEW(activity_date as date)");
但它不起作用

方法的类型参数 'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable, System.Func)“”不能 可以从用法推断。尝试 指定类型参数 明确地说


如何使用字符串在运行时构建动态linq查询?

在linq samples目录中有一个很酷的动态linq库,您可以使用,Scott Gu有一篇关于如何使用它的非常好的博客文章

是的,您可以在运行时使用字符串进行动态linq查询。您需要使用前面提到的ObjectQuery类,下面是执行此操作的代码段:

string queryString =
    @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

// Call the constructor with the specified query and the ObjectContext.
ObjectQuery<Product> productQuery2 =
    new ObjectQuery<Product>(queryString, context);

foreach (Product result in productQuery2)
    Console.WriteLine("Product Name: {0}", result.Name);
字符串查询字符串=
@“从AdventureWorksEntities.Products中选择价值产品作为产品”;
//使用指定的查询和ObjectContext调用构造函数。
ObjectQuery产品查询2=
新的ObjectQuery(查询字符串、上下文);
foreach(productQuery2中的产品结果)
WriteLine(“产品名称:{0}”,result.Name);

ObjectQuery将在运行时根据LINQ模型验证查询,如果找不到查询中使用的某些属性,将引发异常。

在哪里可以找到ObjectQuery我找不到System.Data.Objects Google只需单击我发布的MSDN文档链接(),我想是在System.Data.Entity.dll.Scott中。
string queryString =
    @"SELECT VALUE product FROM AdventureWorksEntities.Products AS product";

// Call the constructor with the specified query and the ObjectContext.
ObjectQuery<Product> productQuery2 =
    new ObjectQuery<Product>(queryString, context);

foreach (Product result in productQuery2)
    Console.WriteLine("Product Name: {0}", result.Name);