首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >where子句中的动态列名。实体框架

where子句中的动态列名。实体框架
EN

Stack Overflow用户
提问于 2012-09-14 17:40:21
回答 4查看 6.6K关注 0票数 1

我想在我的select-query中动态地放置列名。我怎么能做到这一点?

代码语言:javascript
复制
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;
  }
}
EN

回答 4

Stack Overflow用户

发布于 2012-09-14 17:55:40

你试过res.Field<string>(colName)吗?

代码语言:javascript
复制
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:我还没有编译代码,所以可能会出现错误。

票数 2
EN

Stack Overflow用户

发布于 2018-12-18 17:43:56

使用动态linq:

代码语言:javascript
复制
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;
  }
}
票数 2
EN

Stack Overflow用户

发布于 2012-09-14 17:45:15

看看这里的Dynamic Linq library和ScottGu的how to library -它允许动态过滤,排序等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12421916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档