2013-12-03 6 views
3

나는 기존의 "무거운"상업 ORM을 ServiceStack의 ORMLite로 대체하기 위해 노력하고 있습니다. 무거운 ORM에서는 "OnSaving"또는 "BeforeSaving"메서드를 연결하여 데이터베이스에 저장하기 전에 유효성 검사를 수행 할 수 있습니다. 이러한 메서드는 MyObject.Save()에 연결되어 있으므로 업스트림 프로젝트가 유효성 검사 메서드를 호출하는 것을 잊지 않도록 자동으로 발생합니다.ORMite로 OnSaving() 유효성 검사를 수행하는 방법이 있습니까?

우리는 현재 유효성 검사를 수행하고 몇 가지 성능 비정규 화를 해결하며 데이터 무결성을 보장하기 위해이 메커니즘을 사용합니다. 유효성 검사를 모델에 통합하는 좋은 방법입니다. (여기서 저장소 패턴을 사용하는 것에 대한 논쟁을 피할 수 있습니다.)

나는 이것을 할 길을 찾지 않고 몇 가지 ORMLite 예제를 검색하고 검토했습니다. 누구나 단서를 제공 할 수 있습니까?

+0

또한 ORMLite 소스를 통해 확인하여 확장 프로그램에 명백한 후크가 있는지 확인하십시오. 발견 된 사항 없음 ... 여기서 사전 저장 유효성 검사를 수행하는 가장 좋은 방법은 무엇입니까? – BinaryBurnie

답변

1

내가 아는 한 모든 마이크로 옴은 이벤트를 지원하지 않으므로 수동으로해야합니다. 귀하의 코드를 모르지만 당신이 할 수있는 일을 설명하려고 노력할 것입니다 :
1. Validation() 메소드를 사용하여 인터페이스 IValidation을 추가합니다. 즉, 유효성 검사 결과의 컬렉션을 반환합니다.
2. IValidation의 구현을 각 객체에 추가합니다. OnSaving 메서드입니다.
3. Micro orm 메서드를 사용하여 일반 저장소 패턴을 만듭니다. Save
4. 저장 메서드에서 저장 개체가 IValidation 인터페이스를 구현하는지 확인한 다음 Validate() 메서드를 호출하고 컬렉션이 비어 있지 않으면 사용자에게 네가 원하는대로.

+0

고마워요, Adam. 나는 비슷한 결론을 이끌어 내야 만했다. 나는 그것이 당신이 "마이크로"부분에 대해 지불하는 가격이라고 생각합니다. – BinaryBurnie

관련 문제