我已經寫了Lambda表達式,完美適用於單個實體(客戶):編寫自定義lambda表達式對多個實體工作在LINQ
var property = typeof(Customer).GetProperty(inputArray[0], BindingFlags.Instance | BindingFlags.Public);
var parameter = Expression.Parameter(typeof(Customer));
var memberExpression = Expression.Property(parameter, property);
var eq = Expression.Equal(memberExpression, Expression.Constant(value));
//Combining eq with ANDs and ORs
var lambdaExpression = Expression.Lambda<Func<Customer, bool>>(eq, parameter);
var filteredCustomers = db.Customer.Where(lambdaExpression);
但我有更多的實體,我需要寫一個組合查詢也會過濾這些實體。例如,我有一個Product
實體,我想同時過濾產品和客戶。我怎樣才能改變上面的代碼,以便它可以與多個實體一起工作?提前致謝。
您是否想同時過濾客戶和產品?或者您是否在尋找可以分別過濾兩個實體的方法? – nocodename
什麼「同時過濾產品和客戶」的含義?像多線程「同時」或加入「在同一時間:) :) –
@ArkadiuszRaszeja同時加入。 – jason