私はクラスのカップルを持っているし、データベースにそれらを正しくマッピングしたい:流暢NHibernateはコンポーネント一対多
public class AMap : ClassMap<A>
{
public A() {
Id(x => x.Id);
Component(x => x.Component,
c => c.HasMany(x => x.Elements).Inverse().Cascade.All());
}
}
public class BMap : ClassMap<B>
{
public B() {
Id(x => x.Id);
Map(x => x.Time);
}
}
I:
public class A
{
public virtual Guid Id { get; private set; }
public virtual ComponentClass Component { get; set; }
}
public class ComponentClass
{
public virtual IList<B> Elements { get;set; }
}
public class B
{
public virtual Guid Id { get; private set; }
public virtual DateTime Time { get; set; }
}
は、私はそのような流暢なマッピングを使用してそれらをマップ私のエンティティを保存する、私はクラスAを別のテーブルに期待どおりに1つのテーブルにマッピングしている。 しかし、私はComponent_id列にnullを持っています。 私はここに何が欠けているのか教えてもらえますか?
を[OK]を、私はしました私の問題を解決 - 私は私の "親"クラスのIDを使用することができます。したがって、コンポーネントのマッピングは次のようになります。c.HasMany(x => x.Elements).Cascade.All()。Column( "Id"); – coding4beer