문제

사용하고 싶습니다 DDD 새로운 프로젝트와 클래스를 먼저 모델로 한 다음 클래스 라이브러리를 기반으로 데이터베이스 스키마를 생성합니다. 내 계획은 nhibernate hbm2ddl 도구로 이것을하는 것입니다. SchemaExport.

문제는 내가 얻을 수 없다는 것입니다 SchemaExport 이상한 캐치 -22 문제로 인해 일하기 위해서는 저를 입력합니다. SchemaExport 필요합니다 Configuration 유효한 nhibernate 구성 파일과 데이터베이스 매핑 세트가 필요한 개체 자체.

Catch-22는 여기에 configure ()를 할 때 불만이 있습니다. "Could not determine the name of the table for entity 'MyEntity'; remove the 'table' attribute or assign a value to it." 그래서 Configure() 메소드는 테이블이 존재하고 SchemaExport 그것을 기반으로 그것을 만들어야합니다 Configuration 테이블이 존재하지 않기 때문에 생성 할 수 없습니다.

그래서, 내가 어떻게 유효한 nhibernate를 만들어야 하는가 Configuration 필요한 매핑을 포함합니다 SchemaExport 실제로는 유용한 일을하지 않습니다 Configure() 제작할 테이블을 찾을 수 없다고 불평하고 불평합니다. SchemaExport? "모드"가 있습니까? Configuration 객체는 주어진 테이블의 존재에 대해 데이터베이스를 확인하지 않거나 다른 일이 있습니까?

도움이 되었습니까?

해결책

구성 파일을 게시 할 수 있습니까?

테이블이없는 상태 에서이 방법을 항상 사용하고 스키마를 즉시 생성 할 수 있습니다. 내 생각에 .hbm 파일 중 하나에 무언가가있을 수 있다는 것입니다. 스키마를 1 테이블로 줄이고 작업을 수행 한 다음 거기에서 구축하십시오. 참고로, 다음은 DB 스키마를 생성하는 데 사용하는 코드입니다.

    var cfg = new Configuration();
    cfg.Configure();
    var schema = new SchemaExport(cfg);
    schema.Create(true, true);

이것은 또한 스크립트를 콘솔로 푸시하여 DB에 대해 어떤 SQL이 생성되는지 알 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top