我在我的项目中使用 MVC4 和实体框架 5,并且我有很多表。作为我们项目的规则,我们不会从数据库中删除任何记录,每条记录都有一个 isActive 字段,如果该字段为 false,则认为它已删除。我想编写一个扩展方法来获取活动记录,经过一番谷歌搜索后,我写了这个:
public static IQueryable<Company> GetAll(this IQueryable<Company> source)
{
return source.Where(p => p.isActive);
}
现在我可以使用我的扩展方法来仅获取活动记录,例如
Context db = new Context();
db.Company.GetAll();
但是假设我的数据库中有 50 多个表,为我的每个表编写相同的扩展方法是否是一种好方法。有没有更好的方法来为我们所有的表编写一个唯一的 GetAll() 扩展方法?实际上我什至不确定在这个实例中使用扩展方法是否正确?
有人可以帮助我并告诉我正确的方法吗?如果您对代码示例提供帮助,我将不胜感激。