2017-07-27 1 views
0

私は、単純なタスクを達成しようとしている、と私はそれを行うための方法を見つけることができません。 LINQの結果をオブジェクトのリストに変換しようとしています。 this accepted SO answer.に投稿された構文に従っています。ここに私のコードです:C#:LINQの結果をオブジェクトのリストに変換できません。どうしましたか?

var LinqHallazgos = (from RA_Hallazgos in context.RA_Hallazgos 
          select new 
          { 
           HallazgoId = RA_Hallazgos.HallazgoId, 
           Hallazgo = RA_Hallazgos.Hallazgo 
          }); 

     List<RA_Hallazgos> Hallazgos = LinqHallazgos.ToList<RA_Hallazgos>(); 

そして、これは私が取得エラーです:

​​

それはのIQueryableある「LinqHallazgos」は、ToListメソッドの定義が含まれていないことを言います。しかし、私はIntellisenseで "ToList"メソッドを参照してください。それはまたのIEnumerableを期待すると述べているが、同様の構文を使用するthis answerようです。

私は間違っていますが、世界ではどのようにして特定のオブジェクトのリストとしてLINQ結果が得られますか?

+0

あなたはIDE –

+1

に関連していないこと、質問をし、テキストなどのエラーメッセージを投稿してくださいしている場合、他の人が画像からこれをグーグルことができません「Visual Studioの」タグを使用しないでください。 –

答えて

1

を試してみてください。あなたはそこに匿名型(new {})を持っているので、あなたが望んだ場合でも、明示的に型を指定することはできません。

RA_Hallazgosが実際の型であればそうでない場合は、匿名型を作成しないようにnew RA_Hallazgos{}を使用しています。

1

ちょうど.ToList()を呼び出す

select new RA_Hallazgos 
{ 
    HallazgoId = RA_Hallazgos.HallazgoId, 
    Hallazgo = RA_Hallazgos.Hallazgo 
} 
List<RA_Hallazgos> Hallazgos = LinqHallazgos.ToList()(); 
2

あなたは、これはあまりにも複雑になっています。あなたがしたいのは、DbSet<RA_Hallazgos>をメモリに具体化することです(データベースから内容を取得する)。その場合は、単にDbSetToList() LINQの拡張機能を使用すると、設定は完了です。フィルタを指定しなかった場合はすべてを取得することに注意してください(、Where/Take/Skip/etcなどの限定述語)。

List<RA_Hallazgos> Hallazgos = context.RA_Hallazgos.ToList();