2011-09-14 3 views
1

엔티티를 사용하여 mvc3 애플리케이션을 작성 중입니다. 나는 .net과 엔티티에 새로운 브랜드이다. 그래서이 질문은 기본이 될지도 모른다.여분의 필드가 저장된 mvc3 엔티티 객체

데이터베이스에 저장되는 개체를 나타내는 모델이 있습니다. 그러나 데이터베이스에 저장되지 않은 양식을 만들고 편집 할 때 별도의 필드 표시가 필요합니다.

필드가 나머지 개체와 함께 저장되지 않도록 지정하는 방법이 있습니까? 또한 편집 할 때가 아니라 작성시 필드를 만들 수있는 방법이 있습니까?

난 그냥 하드 코딩 하겠지만 엔티티 모델에 설정할 수있는 유효성 검사에 포함하고 싶습니다.

먼저 엔터티 코드를 사용하고 있습니다.

답변

3

보기 모델을 표시하거나 편집하는 데 사용할 수 있으며 저장하는 동안보기 모델을 도메인 모델 (원하지 않는 필드 제외)에 매핑 한 다음 저장합니다. auto mapper 도구를 사용하여보기 모델을 도메인 모델에 매핑 할 수 있습니다.

는 다음 도메인 클래스 사람

public class Person 
{ 
public string Name {get; set;} 
public string Address {get; set;} 
} 

이 당신이

public class VMPerson 
{ 
public string Name {get; set;} 
public string Address {get; set;} 
public int Age{get;set;} 
} 

이보기 모델에 데이터를 가져오고 쿼리처럼 보일 수 있습니다보기에 전달하는 뷰 모델을 만들 예를 들어 말

var q = (from p in db.Person 
     select new VMPerson{ 
     Name = p.name, 
     Address = p.address, 
     Age = 16 
     }).SingleOrDefault(); 

return q; 

보기에서 나이도 표시되고, 그 다음에 게시물

[HttpPost] 
public ActionResult Person(VMPerson vmperson) 
{ 
Person p = new Person()// your domain object 
// mapping part here 
p.name = vmperson.name; 
p.address = vmperson; 

TryUpdateModel(p); 
db.Person.Save(); 
} 
+0

내가보기에이 작업을 수행하는 예를 알고 계십니까? – lovefaithswing

+0

편집보기 ... – Rafay

+0

굉장합니다. 감사! – lovefaithswing

관련 문제