2011-05-12 4 views
0

나는 매핑 구문을 사용하는 기존 NHibernate에 2.1.2.4000 매핑 한 : 데이터베이스 스키마가 작성되는 경우데이터베이스 객체 'create'에 대한 매핑이 실행되지 않지만 'drop'이 실행 중입니까?

<database-object> 
    <create> 
     CREATE VIEW View_Register AS ... (truncated for example) 
    </create> 
    <drop> 
     DROP VIEW View_Register 
    </drop> 
</database-object> 

, 내가 사용 :

new SchemaExport(_configuration).Execute(true, true, false, aSession.Connection, tw); 

방법의 세 번째 매개 변수는 위의 '입니다 dropOnly '이는 분명히 false로 설정됩니다.

과거에 내 스키마가 만들어지고 'View_Register'가 성공적으로 만들어졌습니다. 이제 스키마 생성을 다시 실행 중이며 DROP은 스키마 생성을 시작할 때 호출되지만 CREATE는 호출되지 않습니다. NH 프로파일 러를 포함하여 여러 SQL 프로파일 러를 사용하여이를 확인했습니다.

<dialect-scope name="NHibernate.Dialect.MsSql2000Dialect"/> 
<dialect-scope name="NHibernate.Dialect.MsSql2005Dialect"/> 
<dialect-scope name="NHibernate.Dialect.MsSql2008Dialect"/> 

모든 아이디어의 사람 :

중 하나를 작동하지 않습니다 명시 적 방언 선언을 사용하십니까?

감사합니다,

데이비드

답변

2

나는 완전한 바보 야는 ...

내 View_Register 매핑 /보기는 완전히 괜찮다고, 내 문제가 아니 었습니다.

이름이 바뀐 테이블로 인해 다른보기가 View_Register를 작성하지 못했습니다. 분명히 후속 데이터베이스 - 개체/생성 호출은 이전 생성에서 던진 모든 ADO 예외에서 중단됩니다.

알아두면 좋겠지 만 내 자신의 질문에 답하는 것은 어리 석다.

관련 문제