2011-07-06 3 views
0

초보자, MVC 및 문서 데이터베이스 작업. 나는 영화 클래스에게 까마귀 DB, 각 영화에 대한 하나하나의 문서 안에 여러 엔티티 생성

public class Movie 
{ 
    public string Id { get; set; } 
    public string MovieName { get; set; } 
    public DateTime ReleaseDate{ get; set; } 
    public int NumOfShows { get; set; } 
} 

지금 내가 만드는 오전 문서를 가지고있다. 이런 식으로 보입니다. MVC 페이지에서 업데이트됩니다. 나는 MVC 앱에서 Raven으로이 작업을 성공적으로 수행 할 수있다.

{ 
    "MovieName": "Wild wild west", 
    "ReleaseDate": "12th Dec", 
    "NumOfShows ": "5"  
} 

그러나 이것은 내 목표가 아닙니다. .. 내 목표는 하나의 movieTheater에 여러 개의 영화 정보가있는 문서 하나를 만드는 것입니다. 이 모양은 ...

{ 
    "TheaterId": "Hd45", 
    "TheaterName" : "Blvd", 

    { 
     "MovieName": "Wild wild west", 
     "ReleaseDate": "12th Dec", 
     "NumOfShows ": "5"  
    } 
    { 
     "MovieName": "Shrek", 
     "ReleaseDate": "12th Dec", 
     "NumOfShows ": "5"  
    } 
    { 
     "MovieName": "Ronin", 
     "ReleaseDate": "12th Dec", 
     "NumOfShows ": "5"  
    } 
} 

어떻게 할 수 있습니까? 모든 도움을 주시면 감사하겠습니다. 자세한 설명은 내 이해에 정말로 도움이 될 것입니다.

업데이트 :

[HttpPost] 
public ActionResult Create(TheaterViewModel input) 
{ 
    var Theater = new Theater 
    { 
     TheaterId = input.Theater.TheaterId, 
     TheaterName = input.Theater.TheaterName, 
     // How do I get the Movies nested here, I mean updated 

    }; 
    _repository.Add(Theater); 
    _repository.Save(); 

} 

답변

2

이 작업을 시도 할 수 :

여기
public class MovieTheater 
{ 
    public string Id { get; set; } 
    public string Name { get; set; } 

    public List<Movie> MoviesOnShow { get; set; } 
} 

public class Movie 
{ 
    public string Name { get; set; } 
    public DateTime ReleaseDate { get; set; } 
    public int NumOfShows { get; set; } 
} 

, MovieTheater 즉 당신이 /로드 데이터베이스에서 저장하고 직접 작업 부분 당신의 집계 루트가 될 것입니다.

행운을 빈다.

+0

두 클래스가 하나의 모델 또는 별도 모델로 이동합니까? MVC 구조에서. – ZVenue

+1

이 클래스는 모델을 나타낼 수 있습니다. 뷰를이 뷰에 표시하려면 일반적으로 뷰를 특수 뷰 모델에 매핑 한 다음 뷰 모델을 표시합니다. 이 목적을 위해 사용되는 AutoMapper라는 라이브러리가 있습니다 (모델과 뷰 모델 간의 매핑). –

+0

정보를 제공해 주셔서 감사합니다. – ZVenue

0

TheaterViewModel이 같이 거기에 영화의 컬렉션을 가져야한다 : 당신의 포스트 활동에 그런

Public List<Movie> Movies {get; set;} 

:이 작업을 수행하는

foreach(var movie in input.Movies) 
{ 
//Additional code here... 
} 
+0

하지만 한 번에 하나의 영화 만 추가하고 있습니다. 왜 foreach를해야합니까? – ZVenue

관련 문제