我想用DateTime属性以及类别列表填充viewmodel。
ViewModel:
public class TourCategoryVM
{
public DateTime Date { get; set; }
public List<TourCategoryList> TourCategoryList { get; set; }
}
public class TourCategoryList
{
public int TourCategoryId { get; set; }
public string TourType { get; set; }
}
域模型:
public class TourCategory
{
public int TourCategoryId { get; set; }
public string TourType { get; set; }
public virtual ICollection<Tour> Tour { get; set; }
}
我以为可以用以下代码轻松填充它:
var viewModel = new TourCategoryVM();
viewModel.TourCategoryList = db.TourCategories();
但是,我得到了错误:
错误1无法将类型隐式转换
System.Data.Entity.DbSet<tb.Models.TourCategory>
为
System.Collections.Generic.List<tb.Models.ViewModels.TourCategoryList>
是我的ViewModel错误吗?
该db.TourCategories()
方法不会返回的集合TourCategoryList
,因此您需要做更多的工作才能使用LINQ方法将TourCategories()
返回的任何类转换为。TourCategoryList
Select()
viewModel.TourCategoryList = db.TourCategories()
.Select(tc => new TourCategoryList
{
TourCategoryId = tc.TourCategoryId,
TourType = tc.TourType
})
.ToList();
我假设这会TourCategories()
传回的集合TourCategory
。
如果我可以提出其他建议,则可能要重命名TourCategoryList
。我知道您正在尝试将其与其他TourCategory
类区分开,但是看您的代码的人(乍看之下)可能会认为List<TourCategoryList>
只是列表列表,只是名字而已。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句