Использование viewmodel в MVC для отображения данных из нескольких таблиц
У меня есть пользовательская таблица MVC framework и моя собственная таблица сообщества. У меня также есть таблица relationship CommunityUser. Я практически соединяю таблицу CommunityUser с таблицей community. Вот мой общий класс
public class Community { [Key] public int CommunityID { get; set; } [Required] public string CommunityName { get; set; } [Required] public string CommunityDomain { get; set; } public string CommunityAbout { get; set; } public string CommunityLogo { get; set; } public int PrivacyID { get; set; } public string CommunityAdmin { get; set; } public virtual PrivacyLevel PrivacyLevel { get; set; } public virtual ICollection<CommunityUser> CommunityUsers { get; set; } public Community() { CommunityUsers = new Collection<CommunityUser>(); } }
Я хочу использовать таблицу пользователей и таблицу пользователей сообщества на своей индексной странице. Я создал ProfileDataViewModel, имеющий эти две таблицы.
public class ProfileDataViewModel { public ApplicationUser User { get; set; } public List<CommunityUser> CommunitiesList { get; set; } }
Теперь, когда я использую эту модель представления в своей индексной функции, она создает исключение. Вот моя индексная функция
public ActionResult Index() { var thisUser = db.Users.Where(u => u.UserName == User.Identity.Name).SingleOrDefault(); var myDashboard = new ProfileDataViewModel() { User = thisUser, CommunitiesList = db.CommunityUsers.Include(x => x.Community).Where(u => u.UserID==thisUser.Id).ToList() }; return View(myDashboard); }
Что я уже пробовал:
when I am using this view model on my index function, it is throwing an exception. Here is my index function
F-ES Sitecore
Если вы не опубликовали исключение, которое получаете, потому что не понимаете, что оно важно для решения проблемы, то, возможно, Программирование не для вас.
j snooze
Да, ошибка и предполагая, что вы сделали некоторую отладку самостоятельно, строка кода, на которой она происходит.
Member 14552976
пожалуйста, опубликуйте фактическое исключение, которое вы получаете во время работы?