実行するデータベースクエリのリストがあるアプリケーションがあります。
私は次のようなことをすることが可能であることを知っています:
var results = _db.Contacts.SqlQuery( sQuery );
のように:
var results = _db.Database.SqlQuery<Contacts>( sQuery );
しかし、私の状況では、メタデータのみを使用しています。どうすればこのようなことができますか?
string sBaseType = "Contacts";
var results = _db.Database.SqlQuery<sBaseType>( sQuery );
私はいくつかの成功を収めました<object>
...それは私が期待したすべての行を返しましたが、それはあまり使いやすい形ではありませんでした。このさまざまな動的クエリを処理するための最良の方法は何ですか?
編集-私が見つけたいと思っているのは、次のようなメカニズムです。
var results = _db.Database[sBaseType].SqlQuery( sQuery );
次のような構造を避けることができるように:
if (sBaseType == "Contacts") {
var results = _db.Contacts.SqlQuery( sQuery );
} else if (sBaseType == "Buildings") {
var results = _db.Buildings.SqlQuery( sQuery );
} else if (sBaseType == "Rooms") {
var results = _db.Rooms.SqlQuery( sQuery );
} else if (sBaseType == "Equipment") {
var results = _db.Equipment.SqlQuery( sQuery );
}
特に凝ったものは必要ありません...100以上の要素を構築するのを節約したいと思っていますif-elseifブロック...