2011-01-27 6 views
0

SQL Server Express 및 FluentNHibernate :FluentNHibernate, 데이터베이스 유효성 검사/검사 방법?

나는 클래스를 매핑하고 SessionFactory를 구성하고 SchemaExport를 실행합니다. 모든 것이 작동합니다. 그러나 프로그램 시작시; 테이블이 있는지 확인하고 확인하는 방법은 무엇입니까? Fluent에이 기능을 지원하는 몇 가지 기능이 있습니까?

새로운 데이터베이스를 다시 작성하려는 경우, 불일치로 팝업 상자를 갖는 것이 적절하다고 생각합니까?

또한 검증 할 다른 사항이 있습니까? 당신은 확인이 코드를 사용할 수 있습니다

답변

2

(데이터베이스가 존재한다는 것을 분명히 제외) :

SchemaValidator validator = new SchemaValidator(config); 
    try 
    { 
     validator.Validate(); 
    } 
    catch (HibernateException) 
    { 
     // not valid, try to update 
     try 
     { 
      SchemaUpdate update = new SchemaUpdate(config); 
      update.Execute(false, true); 
     } 
     catch (HibernateException e) 
     { 
      MessageBox.Show("invalid schema"); 
     } 
    } 
+0

OTOH,이 "마법"데이터베이스를 제외하지 "프로그램 시작시"테스트를 실행할 때 할 수있는 뭔가있다 테이블을 떨어 뜨려 라. –

+0

감사! SchemaValidator를 인식하지 못했습니다 :) ... @ Diego : 예, "안"이라면 확인하고 싶지 않습니까? 누군가가이 특정 소프트웨어 이외의 데이터베이스를 쉽게 편집 할 수 있습니다. Idk 무엇이 정상인지, 나는 데이터베이스에 대한 경험이 없다. – bretddog

관련 문제