我正在尝试将linq查询结果放入视图模型中,但始终出现错误。 Linq查询返回多个评级结果。我想将这些多个评分结果放在IEnumerable中。
Error: Cannot implicitly convert type Models.CustomerRating' to 'System.Collections.Generic.IEnumerable<Models.CustomerRating>'. An explicit conversion exists (are you missing a cast?)
Linq查询
var data = from profile in _context.Customers
join rating in _context.CustomerRating
on profile.strUserID equals rating.strUserID into rt
from subrating in rt.DefaultIfEmpty()
where profile.strUserID == UserId
select new { p = profile, r = subrating };
我的视图模型:
public class ServiceProvider
{
public CustomerProfile Customer { get; set; }
public IEnumerable<CustomerProfile> CustomerProfiles { get; set; }
public CustomerServices CustomerServices { get; set; }
public FilterServicesViewModel FilterServices { get; set; }
public CustomerRating Rating { get; set; }
public IEnumerable<CustomerRating> CustomerRating { get; set; }
}
我希望将概要文件的结果添加到“客户”,然后将其归为“ CustomerRating IEnumberable”。 我尝试了以下操作,但出现错误:
foreach (var v in data)
{
serviceProviderViewModel.Customer = v.p;
serviceProviderViewModel.CustomerRating = v.r;
}
答案 0 :(得分:1)
创建一个新列表并遍历linq查询结果并将其添加到该列表中
List<CustomerRating> RatingList = new List<CustomerRating>();
foreach (var v in data)
{
serviceProviderViewModel.Customer = v.p;
RatingList.Add(v.r);
}
serviceProviderViewModel.CustomerRating = RatingList;