興味深い問題があります。与えられたテーブルに列x、y、zが含まれていても、コンパイル時にどのテーブルを扱っているのか分からないということだけを知っているテーブル更新を実行できるLINQ to SQLを使用してコードを書く方法はありますか?共通の列を持つテーブルのDRY LINQステートメント
いくつかのカラムを共有する私のDBスキーマにいくつかのテーブルがあります。私たちが扱っているテーブルに関係なく、その論理的なプロシージャと同じセットベースのUPDATE操作を適用する必要があります。
ここでは、隣接関係モデル階層を実装する3つのテーブル(つまり、各行に主キーIDと自己参照の親ID列が含まれています)という簡単な例を示します。各テーブルには、「無効」論理フラグもあります。私はこれらのエンティティのいずれかのインスタンスを無効にすると、それは子項目をカスケードする必要があり、すなわち
無効UPDATE MyTableと SET = 1 ID = @IDまたはPARENT_ID = @ID
私にはありません各エンティティに対してこれらの種類のLINQ文を記述したい場合、DRYに違反します。この例ではわかりにくいかもしれませんが、例が複雑になるにつれて、ますます多くのコードを複製していきます。私はインターフェイスとおそらくジェネリックスを使用して可能でなければならないと確信していますが、私は洗練されたソリューションを考え出すのに苦労しています。
に感謝
コメント。 – Matt