[英]Check if string properties on a complex object contain term if not null or empty
我正在使用具有3個屬性的搜索類:機器,動作,零件。
“搜索”頁面具有3個文本框控件,供用戶搜索這些屬性。 有沒有一種有效的方法來搜索包含值的這些屬性的任何組合?
因此,用戶可以搜索所有3個屬性或屬性的任意組合(如果它們不為null或為空)。
我正在基於以上內容構建使用EF查詢數據庫的邏輯。
我通過以下方式(作為擴展方法)進行此類操作:
public static IQueryable<MyClass> Filter(this IQueryable<MyClass> items, string machineQuery, string actionQuery, string partQuery)
{
if (!String.IsNullOrWhiteSpace(machineQuery)
items = items.Where(i => i.Machine.Contains(machineQuery);
if (!String.IsNullOrWhiteSpace(actionQuery)
items = items.Where(i => i.Action.Contains(actionQuery);
if (!String.IsNullOrWhiteSpace(partQuery)
items = items.Where(i => i.Part.Contains(partQuery);
return items;
}
EF將其轉換為DB端查詢。 然后,您可以像這樣使用它:
var filteredItems = dbContext.MyClasses.Filter(machineQuery, actionQuery, partQuery);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.