2009-11-21 4 views
1

Fluent NHibernate에서 유창한 매핑을 사용하여 기본 클래스를 어떻게 제외합니까?

public abstract class Entity 
{ 
    public virtual Guid Id { get; set; } 
} 

그리고 매핑 파일 :

public class EntityMap<T> : ClassMap<T> where T : Entity 
{ 
    public EntityMap 
    { 
     Id(x => x.Id); 
    } 
} 

이 방법은, 내가 모든 매핑 Id(x => x.Id) 작성하지 않아도

나는 추상 기본 클래스는, 내 모든 포항 강판은에서 파생 Entity 것을 가지고

public class Something : EntityMap<T> 
{ 
    blahblah 
} 

을 나는 자동 생성 내 데이터베이스 스키마를, 그리고 모든 엔터티의 기본 클래스는 테이블로 추가 된 것을 제외하고, 잘 보이는 해요 :이 작업을 사용하여 파일을. 엔터티 클래스가 데이터베이스 스키마에서 제외되도록 유창 매핑을 사용하여, 어떻게 그것을 구성해야합니까?

+1

으악를, 내 대답을 발견했다. Entity 테이블은 이전 데이터베이스 스키마 생성에서 남겨졌습니다. 분명히 NHibernate는 새로운 테이블을 생성하고 (새로운 테이블로 대체하기 위해 같은 이름을 가진 오래된 테이블을 삭제하지만) 겹치지 않는 기존의 테이블은 제거하지 않습니다. –

답변

0

당신은 그것을 자동 매퍼의 무시 목록에 추가 할 수 있습니다

AutoMap.AssemblyOf<Entity>() 
    .IgnoreBase(typeof(Entity)); 
관련 문제