2011-03-30 5 views
0

다른 엔터티의 데이터와 현재 날짜를 사용하는 MVC 응용 프로그램에서 작업하고 있습니다. 이 데이터를 컨트롤러에서보기로 전달하고 싶습니다. 다른 엔터티를 보유 할 하나의 엔터티를 만들어야합니까?EF 4.1의 여러 엔터티

답변

0

내가 할 수있는 것은 뷰 전체에 대한 정보 만 보유하는 ViewModel을 만드는 것입니다.

1

보기 모델을 만들고 필요한 모든 것을이보기 모델에보기에 넣을 수 있습니다.

public class MyViewModel 
{ 
    Entity1 Ent{get;set;} 
    Entity2 Ent2{get;set;} 
    DateTime CurrentDate{get;set;} 
} 

public ActionResult index() 
{ 
    MyViewModel model = new MyviewModel(); 
    model.Ent = new Entity1(); 
    model.Ent2 = new Entity2(); 
    model.CurrentDate = DateTime.Now; 
    return View(model) 
} 

이제보기에서 DB 생성 엔터티 대신 VieModel을 받아 들여야합니다. 보기에서 엔티티에 액세스 할 수 있습니다.

<%:Model.Ent1.SomeProperty%> 
<%:Model.CurrentDate%> 
<%:Model.Ent2.SomeProperty2%> 
+0

@adeel : db에서 데이터를 가져오고 viewmodel에서 엔티티/뷰 모델을 채우는 논리는 어디에 두어야합니까? – DotnetSparrow

+1

@DotnetSparrow 컨트롤러의 Action 메소드에 로직을 넣어야합니다. 그것은 컨트롤러에서 db 객체에 직접 액세스한다는 것을 의미하지는 않습니다. 호출 코드에 객체를 반환하는 레이어를 만들어야합니다. plz는 이미 익숙하지 않은 저장소 패턴을 살펴 봅니다. –

0

실제로 엔티티가 별도로 필요합니까? 내가 얻는 것은 필요한 엔티티 또는 필요한 속성 만 반환하는 익명 객체를 만드는 것이 좋습니다. 잠재적 인 문제는 모든 데이터 시나리오에 대한 엔티티를 가짐으로써 발생할 수 있습니다.

관련 문제