我正在尝试在C#MVC .NET Visual Studio中使用ViewModel。我有一个充满数据的模式。它是这样构建的:
public class Offer
{
public List<ProjectleaderModel> Projectleaders { get; set; } = new List<ProjectleaderModel>();
public List<OfferManagerModel> OfferManagers { get; set; } = new List<OfferManagerModel>();
public List<ProductModel> Products { get; set; } = new List<ProductModel>();
public List<PersonModel> People { get; set; } = new List<PersonModel>();
public string Administration { get; set; }
public string Status { get; set; }
public DateTime Applicationdate { get; set; }
public DateTime Submitdate { get; set; }
public Boolean CustomerAgreementBoolean { get; set; }
public DateTime CustomerAgreementBooleanDate { get; set; }
}
public class ProjectleaderModel
{
public int Id;
public string Name;
}
在我的视图模型中,我试图将数据放入一个单独的列表中,然后将其转换为下拉菜单:
public List<Offer> Offermodel = new List<Offer>();
public List<ProjectleaderModel> Projectleaders
{
get
{
return Offermodel.Select(x => x.Projectleaders).ToList();
}
}
如您所见,Projectleadermodel类在模型中。
为什么会出现错误:
Cannot implicitly convert type 'System.Collections.Generic.List<System.Collections.Generic.List<EnqueryApp.Model.ProjectleaderModel>>' to 'System.Collections.Generic.List<EnqueryApp.Model.ProjectleaderModel>'
最佳答案
Offermodel.Select(x => x.Projectleaders)
行将为您提供Offer
类对象的集合,然后在其中列出它们。
但是您的Projectleaders
属性的返回类型是List<ProjectleaderModel>
所以他们不是比赛。
您需要创建Projectleaders
对象列表以从该属性返回。
实质上:
return Offermodel.SelectMany(x => x.Projectleaders).ToList();