2010-04-22 4 views
1

행의 생성 시간을 저장하고 싶습니다. 그래서 datetime 열을 생성하고 기본값을 Getdate()로 설정했습니다. 그러나 SQLMetal에서 dbml 파일을 생성하고 거기에서 데이터베이스를 다시 작성하면 함수가 누락됩니다.SQLMetal에 의해 생성 될 수있는 행 생성 시간을 저장하는 방법

SQLMetal을 실행할 때/functions 매개 변수를 명령 줄에 추가했지만 문제가 해결되지 않았습니다.

또는 SQLMetal로 리버스 엔지니어링 할 수있는 행 생성 시간을 절약 할 수있는 다른 방법이 있습니까?

답변

0

INSERT 후에 열을 업데이트하기위한 트리거를 만들어이 문제를 해결할 수있는 방법을 발견했습니다. 그러나 SQLMetal은 트리거도 추출하지 않으므로 DataContext의 CreateDatabase() 메서드를 오버로드하고 기본 메서드를 호출 한 후 트리거 설명서를 추가하기 위해 메서드 숨기기를 사용했습니다.

트리거의 SQL 오류를 컴파일러가 검사하지 않기 때문에 이상적인 솔루션은 아니지만 자동으로 검사 할 유닛 테스트를 작성합니다.

관련 문제