C#Linq列名作为变量
我有一个表,我想在变量列上进行查询。 喜欢:
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**}); } }
我想说我想找一个供应商,那就像是:
var s1 = (from c in db.Components where (c.supplier == "abc") select new {c.id, c.supplier});
有没有办法将列名称作为变量传递?
我猜这个例子很有用。
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(); }
一个很好的方法是使用Dynamic Linq
就像是:
var s1 = (from c in db.Components where(column + "=" + value) select new {c.id, **column**});
- 在数据库中存储和解析布尔表达式
- 如何使用DataContractJsonSerializer将字符串数组序列化为JSON?
- 什么是处理exception以及如何在asp.net中处理它们的最佳方法
- 使用IoC容器; 特别是温莎
- 是否可以为MySql和SqlServer设置EF上下文?
- C#Linq或Lambda从类中获取Dictionary <string,List >
- 在不使用COM的情况下从C ++调用C#方法
- 如何检查扫描仪是否已插入(C#,。NET TWAIN)
- 使用Visual Studio 2013的Crystal Report aspnet_client / system_web / 4_6_81