2009-11-18 7 views
0

나는 Asp net mvc에서 프로젝트를 가지고있다. product라는 엔티티는 비슷한 제목을 가질 수 없습니다. 저장소 패턴을 따르기 때문에 중복을 확인할 수있는 가장 좋은 장소는 어디입니까?엔티티 제목의 중복 확인

컨트롤러에서 할 수는 있지만 뚱뚱한 컨트롤러로 연결됩니다.

답변

1

매우 엄격하고 빠른 규칙 인 경우 데이터베이스 제약 조건을 적용하여 백업하는 것이 좋습니다. 이는 코드를 백스톱으로 멈추게하고 슬립이 ​​통과하지 못하도록합니다.

코드에서 규칙을 시행하는 한, 현재 유효성 검사를 어떻게 처리하고 있습니까? 이것은 분명히 그 범주에 속합니다.

1

DB 서버를 사용하고 있습니까? DB 컬럼에 고유 제한 조건을 두십시오. 저장소 또는 컨트롤러에서이 작업을 수행하면 동시성 문제가 발생합니다 (아직 커밋되지 않았으므로 볼 수없는 다른 트랜잭션은 이미 중복 값을 삽입했을 수 있습니다). 제약 조건은이를 통해 알 수 있습니다.

+0

사실 DDD와 LinQ를 사용하고 있습니다. 우리는 createDatabase 메서드를 사용하고 dbml에서 고유 한 제약 조건을 적용 할 수 없습니다. – Tinku

+0

DB 서버가 제약 조건을 적용합니다. DB 서버 기능을 다시 구현할 필요가 없습니다. –

관련 문제