[英]Get the Matched Property Name in linq where with multiple condition
我想在我的實體上實現全文搜索......我有多個條件,現在我想知道哪個條件已經建立......在最終結果中,我將向用戶顯示搜索值是什么字段。
例如,keyword=Jack 是在 FirstName 還是 LastName 或 FatherName 中?
我的代碼是這樣的:
Users.Where(x => x.FullName.Contains(keywords) || x.LastName.Contains(keywords) || x.FatherName.Contains(keywords)).ToList();
您可以創建自定義類:
public class SearchUser
{
public string FullName { get; set; }
public string LastName { get; set; }
public string FatherName { get; set; }
public bool searchFullName { get; set; }
public bool searchLastName { get; set; }
public bool searchFatherName { get; set; }
}
和
Users.Where(x => x.FullName.Contains(keywords) ||
x.LastName.Contains(keywords) ||
x.FatherName.Contains(keywords))
.Select(x => new SearchUser()
{
FatherName = x.FatherName,
FullName = x.FullName,
LastName = x.LastName,
searchFatherName = x.FatherName.Contains(keywords),
searchFullName = x.FullName.Contains(keywords),
searchLastName = x.LastName.Contains(keywords)
}).ToList();
這樣您就可以知道在哪里找到了關鍵字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.