我该如何编写一个简单的LINQ to SQL扩展方法,名为“IsActive”,其中包含几个基本的条件检查和一些不同字段的查询,以便在不重复逻辑的情况下可以在许多地方重用此“IsActive”逻辑。
例如,我想能够像这样做:
return db.Listings.Where(x => x.IsActive())
而 IsActive 可能会是这样的:
public bool IsActive(Listing SomeListing)
{
if(SomeListing.Approved==true && SomeListing.Deleted==false)
return true;
else
return false;
}
否则,我将不得不在我的系统中的数百个不同查询中重复相同的where条件。
注意:该方法必须在SQL中呈现。
Expression<TDelegate>
类。 - Kyle Trauberman