質問: LINQ to SQLを使用してデータベーステーブルの余分な列を使用できる場所 私たちの開発チームは、データアクセス層でLINQ to SQLを使用したいと考えています。私たちが取り組んできた問題は、アクセスしているSQL Serverデータベースが特定のテーブルに追加の列を持つことがあることです。このバリエーションは限られているので、せいぜい5つの追加のオプションの列を考慮する必要があります。 オプションの列が存在する状況ごとに1つ、正しい列を使用するためのスイッチに5つのデータコンテキストを作成できることが分かりました。しかしこれはちょっと重いようでした。 誰かがLINQ to SQLを使い続けることができる方法を知っていますか?しかし、5の代わりに1つのdatacontextを使用できるようにいくつかの拡張性がありますか? **Note:** We cannot control the database schema as it is owned by a third party. Otherwise, we'd always include the extra columns in those tables.
回答: 私たちの開発チームは、これがLINQでうまく動作しないと判断しました。そこで、ADO.NET SqlCommandsを代わりに使用し、LINQを生成するのではなく、独自のSQLを作成しました。これにより、5つではなく1つのデータレイヤークラスを保持しながら、追加の列が存在するときにSQLを柔軟に変更することができました。