2009-04-11 17 views
0

を満たしていない私は、次の設定FluentNHibernate hasManyのコレクション

HasMany(x => x.Staff) 
     .Inverse() 
     .Cascade.All(); 

と一対多の関係を持っているしかし、私は、コレクションがエラーを初期化に失敗しました得ます。

ここでは外来キーを指定する必要があります。

どのように外部キーがわかりますか?

EDIT:SQLがフィールドStaff_idを使用しようとしている例外を近く見て、それがStaffIDであると言ったときは?あなたが規則の自動設定を使用するものに設定することができますが、

マルコム

答えて

5

Staff_id

HasMany(x => x.Staff) 
    .KeyColumnNames.Add("StaffID") 
    .Inverse() 
    .Cascade.All(); 

を試してみては、自動車のconfigureデフォルトです。

コレクションをIList <T>にマッピングしている場合は、AsBag()を追加するか、NHibernateが欠落している「idx」列について不満を持ちます。コレクションを遅延ロードしたい場合は、.LazyLoad()を追加します。そして、私は通常、.Cascade.AllDeleteOrphan()と一緒に行きます。

関連する問題