いくつかの条件に基づいて2つの異なるビューを照会しています。コレクションを返し、コレクションを使用して操作を実行しています。Listの代わりに2つの異なるListクラスのGeneric List <dynamic>
List<dynamic> query = new List<dynamic>();
if (source == 1)
{
query = this.db.table1.Where(x => x.DATA_SRC_ID == source || x.DATA_SRC_ID == 3).ToList<dynamic>();
}
else if (source == 2)
{
query = this.db.table2.Where(x => x.DATA_SRC_ID == 3).ToList<dynamic>();
}
var result = query.Where(x => x.client_id == clientId).ToList();
ビュー「TABLE1」はlist<dynamic>
に変換し、巨大な記録手段が含まれている場合、パフォーマンスが低下します。これを行うための他の良い方法がありますか?いくつかの一般的なオブジェクトのようにifとelseの両方から戻ってくる必要があります。 (エンティティ・フレームワークにDB最初のアプローチを使用して)dBのコンテキスト下
private entities db = new entities();
ビュー/テーブル
table1
table2
代わりにList<dynamic>
二つの異なるクラスのリストを装飾する方法。
可能なクラスは、同じ共通インターフェイス(または基本クラス)を実装する必要があります。リスト 'List'を作成するだけです。それにもかかわらず: "リストはパフォーマンスを低下させる" Sais誰ですか? –
HimBromBeere
その 'if'と' else if'の両方の中に 'result = ...'を入れてみませんか?コードを少し長くするだけでなく、理解と管理が容易になり、 'var query = ...'を使用することができます。 –
@KeyurPATELはいあなたは正しいです。しかし、私は他のものもたくさんやっている結果を得た後。 – SivaRajini