簡體   English   中英

如何在實體框架中將列名作為參數進行動態搜索

[英]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的東西。 使用DLinq nuget包

var result=  db.Employees.Where(Column+".Contains"+ "(\""+ Search.ToLower() + "\")").ToList();

Column參數必須與Employee實體中一個字符串屬性的名稱匹配。 我建議使用try-catch,以防您輸入錯誤的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM