我有两个班,专辑和艺术家。专辑可以有很多艺术家和艺术家可以在许多专辑。我为视图模型类和从数据库检索数据的方法都设置了导航属性,确保包含关联数据。下面是类和方法。当调用Index或Details操作时,都会显示艺术家属性的计数为零。应该是一位艺术家。不知道我错过了什么。
public class AlbumController : Controller
{
Manager m = new Manager();
// GET: Album
public ActionResult Index()
{
var allAlbums = m.AlbumGetAll();
return View(allAlbums);
}
// GET: Album/Details/5
public ActionResult Details(int id)
{
var album = m.AlbumGetById(id);
return View(album);
}
}public class AlbumWithDetailViewModel:AlbumBaseViewModel
{
public AlbumWithDetailViewModel()
{
Artists = new List<ArtistBaseViewModel>();
Tracks = new List<TrackBaseViewModel>();
}
public IEnumerable<ArtistBaseViewModel> Artists { get; set; }
public IEnumerable<TrackBaseViewModel> Tracks { get; set; }
}public class ArtistWithDeatilViewModel:ArtistBaseViewModel
{
public ArtistWithDeatilViewModel()
{
Albums = new List<AlbumBaseViewModel>();
}
public IEnumerable<AlbumBaseViewModel> Albums { get; set; }
}///////////// Album Methods /////////////
public IEnumerable<AlbumWithDetailViewModel> AlbumGetAll()
{
return mapper.Map<IEnumerable<AlbumWithDetailViewModel>>(ds.Albums.OrderBy(a => a.Name));
}
public AlbumWithDetailViewModel AlbumGetById(int id)
{
return mapper.Map<AlbumWithDetailViewModel>(ds.Albums.Include("Artists").SingleOrDefault(a => a.Id == id));
}发布于 2021-03-27 20:25:39
事实证明,这个问题与我对设计模型类所做的更改有关。一旦我从表中删除了样本数据并重新加载它们,这些关联就开始工作了。
https://stackoverflow.com/questions/66810350
复制相似问题