2017-05-14 16 views
-1

DBから行を返そうとしていますが、次のエラーが発生します「System.Collections.Generic.List <<匿名型>>」を「System.Collections.Generic.List」に暗黙的に変換できません

「System.Collections.Generic.List < PDF.Models.EF_Model.PDFへ:

は、暗黙的に型 'int型ID、文字列ファイル、文字列の名前>> System.Collections.Generic.List < <匿名型' を変換できません。 > '

これは私のモデルのレイヤーで、返信文はエラーが発生した場所です

internal List<EF_Model.PDF> Search_PDF(string _name) 
{ 
    using (var Context = new EF_Model.CoolerEntities()) 
    { 
     var p = (from c in Context.PDFs 
       where c.Name == _name 
       select new { c.Id, c.File, c.Name }).Single(); 
     return p; 
    } 
} 

そして、私が代わりSingle()ToList()を入れてみましたが、それは文句を言わないのいずれかに動作し、我々はこれをどのように修正することができますか?

答えて

1

あなたのメソッドはEF_Model.PDFを返すと予想しますが、linqクエリは匿名型をインスタンス化します。

return from c in Context.PDFs 
     where c.Name == _name 
     select c; 

または::

代わりPDFタイプのインスタンス私の悪い申し訳ありません

internal List<EF_Model.PDF> Search_PDF(string _name) 
{ 
    using (var Context = new EF_Model.CoolerEntities()) 
    { 
     return Context.PDFs.Where(c => c.Name == _name).ToList(); 
    } 
} 
+0

を、私はコレクション – NeverTrust

+0

@NeverTrustを必要とする - そして、なぜあなたは 'Single'を追加しましたか?あなたは多くのアイテムを手に入れることを期待していますか? –

+0

私はこれらのID、名前、ファイルを期待しています。 – NeverTrust

関連する問題