如何将列名作为参数传递给实体框架中的动态搜索
How can pass a column name as a parameter for dynamic search in entity-framework
我的要求是传递列名和搜索数据,以便在 entityframework 中使用 linq 查询从数据库动态搜索。
[HttpGet]
public ActionResult Index(string Search, string Column)
{
if (!String.IsNullOrEmpty(Search))
{
List<Employee> result = new List<Employee>();
result = db.Employees.ToList();
result = result.Where(x => x.Column.ToLower().Contains(Search.ToLower())).ToList();
return View(result);
}
else
{
return View(db.Employees.ToList());
}
}
我觉得你看起来像 DLinq. Use the DLinq nuget package
var result= db.Employees.Where(Column+".Contains"+ "(\""+ Search.ToLower() + "\")").ToList();
Column
参数必须与 Employee
实体中的一个字符串 属性 的名称相匹配。我建议使用 try-catch 以防传递错误的名称。
我的要求是传递列名和搜索数据,以便在 entityframework 中使用 linq 查询从数据库动态搜索。
[HttpGet]
public ActionResult Index(string Search, string Column)
{
if (!String.IsNullOrEmpty(Search))
{
List<Employee> result = new List<Employee>();
result = db.Employees.ToList();
result = result.Where(x => x.Column.ToLower().Contains(Search.ToLower())).ToList();
return View(result);
}
else
{
return View(db.Employees.ToList());
}
}
我觉得你看起来像 DLinq. Use the DLinq nuget package
var result= db.Employees.Where(Column+".Contains"+ "(\""+ Search.ToLower() + "\")").ToList();
Column
参数必须与 Employee
实体中的一个字符串 属性 的名称相匹配。我建议使用 try-catch 以防传递错误的名称。