プロジェクトでは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以上のテーブルがあるとしましょう。テーブルごとに同じ拡張メソッドを作成するのは、良いアプローチです。すべてのテーブルに対して1つのGetAll()拡張メソッドのみを作成するためのより良い方法はありますか?実際、このインスタンスに拡張メソッドを使用するのが正しい方法かどうかさえわかりません。
誰かが私を助けて正しい方法を教えてくれませんか?コード例を手伝っていただければ幸いです。