我想在我的select-query中动态地放置列名。我怎么能做到这一点?
public IEnumerable MyTable MySelect(string colName, string param)
{
using (MyEntities db = new MyEntities ())
{
var query = from res in db.MyTable
where res.colName.Contains(param)
select res;
return query;
}
}发布于 2012-09-14 17:55:40
你试过res.Field<string>(colName)吗?
public IEnumerable MySelect(string colName, string param)
{
using (MyEntities db = new MyEntities ())
{
var query = from res in db.MyTable.AsEnumerable()
where res.Field<string>(colName).Contains(param)
select res;
return query;
}
}Here就是一个例子。
PS:我还没有编译代码,所以可能会出现错误。
发布于 2018-12-18 17:43:56
使用动态linq:
using System.Linq.Dynamic;
public IEnumerable MyTable MySelect(string colName, string param)
{
using (MyEntities db = new MyEntities ())
{
var query = db.MyTable.Where($"{colName} LIKE %{param}%");
return query;
}
}发布于 2012-09-14 17:45:15
看看这里的Dynamic Linq library和ScottGu的how to library -它允许动态过滤,排序等。
https://stackoverflow.com/questions/12421916
复制相似问题