C#Linq列名作为变量

Pat*_*ick 5 c# linq entity-framework

我有一个要在其中查询变量列的表。喜欢:

private void query(string column, string value) {

    using (var db = new myDB()) {

        var s1 = (from c in db.Components
                  where (**column** == **value**)
                  select new {c.id, **column**});
    }
}
Run Code Online (Sandbox Code Playgroud)

可以说我想寻找供应商,那会是:

var s1 = (from c in db.Components
          where (c.supplier == "abc")
          select new {c.id, c.supplier});
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将列名作为变量传递?

Bur*_*urk 5

我猜这个例子很有用。

 void BindGridTypeSafe()
    {
        NorthwindDataContext northwind = new NorthwindDataContext();

        var query = from p in northwind.Products
                    where p.CategoryID == 3 && p.UnitPrice > 3
                    orderby p.SupplierID
                    select p;

        GridView1.DataSource = query;
        GridView1.DataBind();
    }

    void BindGridDynamic()
    {
        NorthwindDataContext northwind = new NorthwindDataContext();

        var query = northwind.Products
                             .Where("CategoryID = 3 AND UnitPrice > 3")
                             .OrderBy("SupplierID");

        GridView1.DataSource = query;
        GridView1.DataBind();
    }
Run Code Online (Sandbox Code Playgroud)