gpt4 book ai didi

c# - 如何从字符串创建 LINQ 查询?

转载 作者:可可西里 更新时间:2023-11-01 08:34:22 24 4
gpt4 key购买 nike

我是 LINQ 的新手,确实需要一些编码方面的帮助。

目前,我有一个字符串和一个 var 变量。

string temp = "from product in myEntities.Products where product.Name.Contains(_Name) select product";
var _Products = temp;
LvProducts.DataSource = _Products;
LvProducts.DataBind();

基本上,我想要做的是能够通过预先将其分配到字符串中来创建自定义/复杂的 LINQ 查询。完成编写后,我将字符串分配给 var 变量。然而,这显然是行不通的。因此,有人可以帮助我吗?

最佳答案

您有几个选择:

  • 使用Dynamic Linq构建查询的库苍蝇。最好的地方开始是阅读 ScottGu's blogentry .然而,我不认为这些库支持包含你的例子中的方法。 Here是解释如何添加的博客文章这种支持。

  • 直接执行SQL语句。查看 Linq to Sql 的 MSDN 文档或 Linq to Entities .

    var _Products = myEntities.ExecuteStoreQuery<Product>
    (@"SELECT * FROM Products WHERE [Name] In ('Item1', 'Item2')");
  • 使用 Linq 的可组合行为。这可能不是最优雅的解决方案,但如果您没有太多选择,它会非常有效。您可以将查询分为多个部分。

    var _Products = from product in myEntities.Products
    select product

    _Products = from product in _Products
    where product.Name.Contains(_Name)
    select product

    if FilterByPrice {
    _Products = from product in _Products
    where product.Price > 100
    select product
    }

关于c# - 如何从字符串创建 LINQ 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5139467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com