形成linq查询以使用表名获取表数据

时间:2017-11-14 04:38:50

标签: c# entity-framework linq

我有一个存储在字符串中的表名。 我希望能够做到这样的事情:

string tableName = "sometable";

var query = from m in _Context[tableName] 
            select m;

我在输入互联网时正在搜索...

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:0)

您可以在实体上使用反射来获取所需的表<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select id="drop" name="1" class="form-control"> <option value="policy_no">Policy No</option> <option value="claim_no">Claim No</option> <option value="acc_no">Account No</option> <option value="client_no">Client No</option> </select> <input type="text" name="selectValue" id='inputId'>,然后在其上运行 LINQ 查询

DbSet

但是无论如何你会把它作为对象的类型,除非你正确地投射它,否则它不会提供对属性的访问。

答案 1 :(得分:0)

在DbContext类中,添加一个名为Set的方法,返回

public DbSet Set(string name)
{
  // you may need to fill in the namespace of your context
 return base.Set(Type.GetType(name));
}
像这样查询:

  using (var db = new YourDataContext())
  {

      var results = db.Set("Namespace.EntityName") .AsQueryable();

  }