【发布时间】:2014-09-26 12:39:00
【问题描述】:
我是 LINQ 的新手 我收到此错误
不能隐式转换类型
System.Collections.Generic.List<AnonymousType#1>到System.Collections.Generic.List<DirCert.Data.Model.DssClient_Sasid_Certified>
我不知道如何解决这个错误。
这是我的代码:
public List<DssClient_Sasid_Certified> GetCertifiedRecordsbySasid(string Sasid)
{
return (from o in _context.DssClient_Sasid_Certified
where (o.SasId == Sasid)
join t in _context.DssClients on o.ClientId equals t.ClientId
select new
{
ClientId = o.ClientId,
SasId = o.SasId,
FormalLastName = o.FormalLastName,
FormalFirstName = o.FormalFirstName,
FormalMiddleName = o.FormalMiddleName,
BenefitSource = t.BenefitSource,
DOB = o.DOB
}).ToList();
}
【问题讨论】:
-
你是否试图从一个方法中返回一个匿名类型的列表?据我所知,这是被禁止的。
-
不要从方法返回匿名类型,而是具体类型。所以在这种情况下,创建一个类
DssClient并返回一个List<DssClient>或IEnumerable<DssClient>是有意义的。 -
您正在返回
List<T>其中 T 是编译器为您的选择生成的匿名类型,而您的方法需要List<DssClient_Sasid_Certified> -
您必须使用具体类型或从您的方法中返回
List<object>。