Member 13021319 Ответов: 0

Использование 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

пожалуйста, опубликуйте фактическое исключение, которое вы получаете во время работы?

0 Ответов