2011-07-11 8 views
1

変数を2つのクエリのうちの1つを取るが2つの異なるテーブルがあり、エラーがある "System.Linq.IQueryable<WGamesTicket>System.Linq.IQueryable<AllGamesTicket>の間に暗黙の変換がないため、匿名型を使用する - 1つの変数が2つの異なるクエリを選択する

  var dsakj = (type == "mix") ? 
       (from el in objDC.WGamesTickets 
       where el.ticket.time == DTtemp 
        //&& el.typeOfGame == "mix" 
       select el) 
       : 
       (from el in objDC.AllGamesTickets 
        where el.ticket.time == DTtemp 
        //&& el.typeOfGame == "eng" 
        select el); 
+0

この質問にはアノニマス型はありません。 –

+0

あなたは正しい、暗黙のうちにタイプされたローカル変数です。 – gormit

答えて

3

新しいカスタムクラスにキャストする必要があります。たとえば、2つの異なるテーブルから取得していますが、それぞれからIDと名前を収集することができます。したがって、コードを次のように変更してください。

3

クエリの結果は、異なるタイプのものであり、あなたの最初はIQueryable<WGamesTickets>、二IQueryable<AllGamesTickets>である。このような理由から「VAR」のタイプは、変数dsakjを決定することはできません。

あなたは両方の可能性プロジェ一般的なクラス型へのCTは:あなたは「手動」新しいGameTicketクラスのインスタンスにプロパティをコピーする必要があることかかわら

var dsakj = (type == "mix") ? 
       (from el in objDC.WGamesTickets 
       where el.ticket.time == DTtemp 
        //&& el.typeOfGame == "mix" 
       select new GameTicket() { Type = el.typeOfGame}) 
       : 
       (from el in objDC.AllGamesTickets 
        where el.ticket.time == DTtemp 
        //&& el.typeOfGame == "eng" 
        select new GameTicket() { Type = el.typeOfGame})); 

これは欠点を持っているでしょう。

関連する問題