私はこのトピックをしばらく見回しましたが、私が実際に理解していた答え(または近くに何かを尋ねている人)を見つけることができませんでした。Entity Frameworkからユーザー指定のテーブルを選択
問題の説明: 私は、複数のテーブルを持つデータベースを持ってを言う、oranges
、およびbananas
。それはそれぞれの下にたくさんの情報を持っています。これらのプロパティの1つは一般的です。expirationDate
としましょう。
は、私は、テーブル名を持つものの一つの有効期限(例えば、id=1
とapple
)
は、ユーザーがGUIでこのすべてを選択することができます(コンボボックスを照会できるようにするには、ユーザーが必要そして私がこれまで持って何id
のためのテキストボックス)
:背景コード/ビジネス・ロジックで は、私が
.
.
.
if(tableName.Equals("apples"))
{
DateTime expDate = getAppleDetails(id)
}
if(tableName.Equals("oranges"))
{
//call function to select the single orangeEntry and do the rest
}
}
DateTime getAppleDetails(long id)
{
using(var db = new myContext())
{
var appleEntry = db.apples.Single(x=>x.id==id);
return appleEntry.ExpDate
}
}
を以下しています
私が探しているもの: 上記のコードは、サイズの大きなデータベースでは、たくさんのコードを複製する必要がなくなります。同じクエリでこれを行うより良い方法は何ですか? 何かのようなdb.TableNameHere.Single(x=> x.id == id)
?
それでも私はコードで表を指定する必要はありませんか?つまり、UIから取り出された文字列に応じて、文字列を比較して関数を正しいDBSetと呼び出す必要があるという意味で意味があります。 重複したコードの量を大幅に減らす – robotHamster
実際には、実装しようとしましたが、コードを減らすうえで効果的です!どうもありがとう! – robotHamster