ValidationAttibute를 말하면 DataAnnotations를 사용하고 싶습니까? 그렇다면이 모든 것이 적용됩니다. 그렇지 않으면 미안하지만, 나는 오해하고 오직이 부분 만 할 것입니다.
나는 적어도 레코드의 고유 키를 사용하여 리포지토리 또는 BLL에서이 작업을 수행하는 것이 가장 좋습니다. 적어도이 작업을 수행 한 방법입니다. 레코드의 이전 값을 가져 와서 변경되었는지 확인하십시오. 그들이 변경된 경우 고유성 검사를 실행하십시오.
이 논리를 ValidationAttribute에 넣을 수 있다면 더 많은 권한을 얻을 수 있지만 validationAttribute가 주위를 둘러 볼 방법이 있기 때문에 가장 좋은 방법인지는 확실하지 않습니다. 이러한 특성을 이해 했으므로 모델을 검증하는 유일한 방법이 아닌 비즈니스 논리 유효성 검사에 대한 보충 자료로 사용해야합니다.
See here for more info on DataAnnotations
편집 : 충분한 페어, 지금은이 링크를 확인 :) 도움이 대답 할 수 있는지 보자, 그것은 모든 테이블에있는 모든 속성에 대한 고유성 검사에 대한 코드입니다. 꽤 심층적 인 LINQ to SQL이 있지만 잘 작동하는 것처럼 보입니다. <Required>
또는 <StringLenght>
속성을 사용하는 것과 마찬가지로 속성을 꾸밀 수 있어야합니다.
ASP.NET Forums
처음 두 문장은 좋지 않습니다. 변경 추적과 관련하여 고유성이 무엇인지 분명히 할 수 있습니까? – jfar
그는 사용자 1이 이메일 주소가 [email protected]이고 사용자가 프로필을 업데이트하는 경우 전자 메일 주소 (예 : 일러스트레이션 만 해당)가 여전히 고유한지 확인하려고합니다. 그러나 사용자가 전자 메일 주소를 변경하지 않으면 [email protected]이 업데이트중인 사용자를 위해 이미 데이터베이스에 있으므로 고유 한 검사가 실패합니다. – Tommy