2017-12-30 75 views
-1

返されたアイテムをvar型に格納してから、モデルクラス型のリストオブジェクトにバインドしようとしています。そうしながら、しかし、それは私がこの問題を解決してくださいvar型をリストオブジェクトに変換できません

が暗黙のうちに System.Collections.Generic.List<MyService.Models.EmpModel>

にタイプ System.collections.generic.list<AnonymousType>を変換することはできません、というエラーを与えます。

public IEnumerable<EmpModel> GetEmpDetailsById(int id) 
{ 
    var EmpList = (from a in EmpDet 
    where a.EmpId.Equals(id) 
    select new { a.EmpId, a.Name, a.City }); 

    List<EmpModel> objList = new List<EmpModel>(); 
    objList = EmpList.ToList(); // gives error here 

    return objList; 
} 

答えて

1

あなたは1つの文

でこれを行うことができます
return (from a in EmpDet 
    where a.EmpId.Equals(id) 
    select new EmpModel 
       { EmpId = a.EmpId, 
       Name = a.Name, 
       City = a.City 
       }).ToList(); 

} 
+0

ありがとうございます...それは私のために働いた –

1

OBJLISTのタイプはList<EmpModel>ですが、anonymous typeListを戻ってきています。あなたはこのようにそれを変更することができます。

var EmpList = (from a in EmpDet 
    where a.EmpId.Equals(id) 
    select new EmpModel { EmpId = a.EmpId, Name = a.Name, City = a.City }); 

をそして、あなたはまだエラーが出る場合は、マッピングされたエンティティに、あなたはこのようなEmpModelエンティティから必要なプロパティを持つDTOクラスを作成する必要が突出しないことができるので、おそらくそれは、次のとおりです。

public class TestDTO 
{ 
    public string EmpId { get; set; } 
    public string Name { get; set; } 
} 

そして、次のことができます。

select new TestDTO { EmpId = a.EmpId, Name = a.Name } 
+0

ありがとうございました –

関連する問題