2013-02-25 1 views
1

코드 첫 번째 접근 방식으로 Entity Framework를 사용하는 기본 MVC 응용 프로그램이 있습니다.비 Identity 기본 키 유효성 검사

public class Product 
{ 
     [Key] 
     [Column("prodCode")] 
     [DatabaseGenerated(DatabaseGeneratedOption.None)] 
     [Required(ErrorMessage = "A Product Code is required.")] 
     public string ProductCode { get; set; } 

     [Column("prodName")] 
     [Required(ErrorMessage = "A Name is required.")] 
     public string Name { get; set; } 
} 

제품 코드가 아닌 정체성 기본 키입니다 : 그것은 제품 모델을 포함하고 있습니다.

제품을 삽입하거나 수정할 때 키가 이미 존재하지 않으면 유효성을 검사하는 논리는 어디에 두어야합니까? 그리고 유효성 검사 메시지를보기로 다시 보내려면 어떻게해야합니까?

답변

2

MVC를 사용하고있는 것을 볼 수 있기 때문에 (비즈니스 로직에서 유효성 검사를 수행하라는 명령을 내릴 수 있습니다. 이 상황에서 실제 검사를 수행하려면 데이터베이스 연결이 필요합니다.

유효성 검사 메시지를보기로 다시 보내는 것은 간단합니다. 메서드에서 유효성 검사가 실패하면 컨트롤러에 false를 반환 한 다음 컨트롤러에서 ViewData 컬렉션에 무언가를 추가하고 표시 할 뷰에 선을 추가하게하십시오 이 값은 ViewData에 해당 키가있을 때입니다.

+1

이 논리 유형은 실제로 컨트롤러가 아닌 비즈니스 논리 계층에 속합니다. – Dismissile

+0

사실입니다. 편집 중. – IronMan84

+0

고마워요! 'ViewData' 부분을 생각하지 않았습니다. –

관련 문제