2017-10-24 1 views
0

私のコレクションにはBuildingsのコレクションがあります。この時点までに、私が追跡する必要があったすべての建物が活発に発言されています。しかし、解体され、もはや存在しない建物を含める必要性が生じている。 Decommissionedというnull可能なDateTimeプロパティをBuildingクラスに追加して、建物がオフラインになったときを追跡することはかなり賢明です。ほとんどの場合、EF DbSetを簡単にフィルタリングする方法はありますか?

私のアプリケーションの大部分は、DbContextからすべての建物のセット全体を取得するだけで、建物をフェッチします。すべてのインスタンスに追加のdbcontext.Buildings.Where(b => b.Decommissioned == null)チェックを追加するのは苦労でしょう。したがって、IDbSetレベルでのフィルタリングはうまくいくでしょうが、居住者のテナントの履歴をプルアップするような状況では、これらの廃止された建物が必要になります。

質問は主に私の唯一の非退役建物を取得することが、私はdbContext.Buildingsのデフォルトの動作を持つことができるか、つまるところ、まだ私が欲しいんとき、具体的退役建物を含めるための特別な方法でDBを尋ねますそれら?

+0

https://lostechies.com/jimmybogard/2014/05/29/missing-ef-feature-workarounds-filters/ – haim770

+0

を参照してください。また、インターセプタを見ることもできます。ソフト削除http://www.codeguru.com/ csharp/csharp/soft-deletting-entities-cleanly-using-entity-framework-6-interceptors.htmlを参照してください。 –

答えて

0

私が望むことを達成できない可能性のある解決策を数日間探った結果、私は最終的に私が必要としていたものを正確に見つけ出し、実際に新しい可能性の扉を開いた。

関連する問題