1
コントローラに2つのセッション、sessCash
とsessFuel
があります。Linq Unionを使用してMVCで2つのセッションを組み合わせることはできますか?
どちらも同じフィールドを持つ2つの異なるテーブルtblCash
とtblFuel
の値を格納しています。
tblCash
---------------------------
Id | Type | Price |
----+------------+--------+
c1 | Electronic | 200 |
c2 | Water | 50 |
---------------------------
tblFuel
--------------------
Id | Type | Price |
----+------+-------+
f1 | Fuel | 5 |
f2 | Fuel | 10 |
--------------------
tblFuel
は、将来のクエリのtblCash
から分離されています。
私はindex.cshtmlで1つのビューに結合したいが、SQLクエリではunionを使わず、プロジェクトではlinq unionを使う。
どうすればいいですか?
私はこの
sessCash.OrderBy(x => x.Type).Select(x => new { x.Id, x.Type, x.Price}).Union(sessFuel(...//I'm not sure how to continue
感謝を試してみました。
最初の(キャッシュ)投影 '.Union(sessFuel.Select(f => new {Id = f.Id、Type = f.Type、Price = f.Price}))')と同じパラメーターを選択します。 – Jasen
しかし、ビュー内のデータを使用する場合は、匿名オブジェクトを使用するのではなく、ビューモデルに投影することをお勧めします。 –
@StephenMueckeはい、@Jasenのようなコードを使用するたびに、エラーが発生します。 '暗黙的にタイプを変換できません。 'system.collections.generic.list匿名タイプ#1' ' – JTR