본문 바로가기
MySql

MySQL ASP.NET MVC 4, 하나의보기에서 여러 모델?

by 베이스 공부 2021. 1. 6.
반응형

저는 엔지니어 테이블, 프로젝트 테이블, 요소 테이블이있는 작은 프로젝트를 진행하고 있습니다. 엔지니어에게는 여러 요소가 지정되고 요소에는 여러 프로젝트가있을 수 있습니다. 엔지니어가 떨어져있는 모든 요소를 ​​어떻게 보여줄지 궁금했습니다.

현재 엔지니어와 요소를 연결하는 테이블이 있습니다. 다음과 같이 보입니다.

   [Engineer Elements]
[Engineer ID][Element ID]
   [1]           [2]
   [1]           [4]
   [2]           [2]
   [2]           [8]

그래서 두 테이블을 연결하는 방법이 있습니다. MVC를 사용하여 이러한 테이블을 함께 연결하는 방법에 대해 좀 더 배우기 위해 올바른 방향으로 나아갈 수 있습니까?

 

해결 방법

 

이것을 표현할 뷰 모델이 아직 없다면 하나만 만드십시오.

public class MyViewModel
{
    public Engineer Engineer { get; set; }
    public List<Element> Elements { get; set; }
}

컨트롤러에서 뷰 모델 세트 채우기

public ActionResult MyAction()
{
    var viewModels = 
        (from e in db.Engineers
         select new MyViewModel
         {
             Engineer = e,
             Elements = e.Elements,
         })
        .ToList();
    return View(viewModels);
}

그리고 뷰에서 뷰 모델 컬렉션을 사용하고 있음을 지정하십시오.

@model List<MyViewModel>
@foreach(var vm in Model)
{
    <h1>Projects for engineer: @vm.Engineer.Name</ha>
    <ul>
    @foreach(var ele in vm.Elements)
    {
        <li>@ele.Name</li>
    }
    </ul>
}

 

참조 페이지 https://stackoverflow.com/questions/15844215

 

 

반응형

댓글