Как получить данные от одного ко многим отношениям в ASP.NET MVC? - PullRequest
0 голосов
/ 18 марта 2019

Как получить данные от одного ко многим отношениям в ASP.NET MVC?

Я создаю веб-сайт с использованием структуры кода первого объекта.

Это моя реляционная база данных.

Сейчас я работаю над разделом комментариев.

Он находится в DollsController: ActionResult Details(dollId).

Я получил данные от CommentsRepository, используя эту функцию в DollsRepository:

public IQueryable<Comment> GetCommentsById(int dollId){
    SiteDbContext context = new SiteDbContext();
    IQueryable<Comment> resultComments = context.Comments.Where(c => c.DollId == dollId);

    return resultComments;
}

Подробности ActionResult выглядит так:

[HttpGet]
public ActionResult Details(int id) {
    UsersVM model = new UsersVM();
    model.doll = repo.GetById(id);

    model.user = repo.GetUserByDollById(id);
    model.comment = repo.GetCommentsById(id);

    context.SaveChanges();

    return View(model);
}

Это *Я использую папку 1023 *:

ViewModels/Details:

IndexVM:

public class IndexVM : BaseIndexVM<Doll, FilterVM> {
    public int UserId { get; set; }
    public User User { get; set; }
}

FilterVM:

public class FilterVM : BaseFilterVM<Doll> {
    [DisplayName("Doll Id:")]
    public int DollId { get; set; }
    [DisplayName("Name:")]
    public string Name { get; set; }
    [DisplayName("Price:")]
    public double Price { get; set; }
    [DisplayName("Likes:")]
    public int Likes { get; set; }

    public override Expression<Func<Doll, bool>> GenerateFilter() {
        return null;
    }
}

UsersVM:

public class UsersVM {
    public Doll doll { get; set; }

    public List<Comment> comments { get; set; }
    public List<User> items { get; set; }
    public List<User> userCs { get; set; }

    public IQueryable<User> userC { get; set; }
    public IQueryable<Comment> comment{ get; set; }
    public IQueryable<User> user { get; set; }
}

userCs и userC в настоящее время не используются.Я планировал использовать их для выполнения этой задачи, но я просто не могу обернуться вокруг этой проблемы.

Я могу напечатать все комментарии, внешний ключ которых равен текущему идентификатору куклы.

Я хочу напечатать имя пользователя, сделавшего комментарий, перед комментарием.

Как получить данные для всех пользователей, идентификатор которых равен внешнему ключу комментариев, используяDollID

...