나는 부모 Foo, 많은 Child Foo 's 및 많은 Snafu 's를 가질 수있는 Foo 클래스가 있습니다. NHibernate는 Foo와 Snafu 테이블 모두에서 Foo_id와 ParentFoo_id를 생성합니다. 중복 필드는 메모리 낭비 일뿐만 아니라 중복 참조 중 하나가 NULL이 될 때 문제가 발생합니다. 이것은 SQL Server 2012를 사용하고 있습니다.부모/자식 관계에서 유창한 NHibernate 홀수 매핑 문제
왜 이런 현상이 발생하고 하나의 Foo_id를 생성하려면 어떻게해야합니까?
푸 클래스와 매핑 :
어쩌면public class Snafu {
public int Id { get; set; }
public Foo Foo { get; set; }
public string Value { get; set; }
}
public class SnafuMap : ClassMap<Snafu> {
public SnafuMap() {
Id(x=>x.Id);
References(x=>x.Foo);
Map(x=>x.Value);
}
}
----Resulting Snafu Table----
Id (PK, int, not null)
Foo_id (FK, int, null) <- refers to Foo
ParentFoo_id (FK, int, null) <- refers to same Foo
Value (nvarchar(255), null)
를 다음과 같이한다' – Handprint