1
2つのテーブル間の関係が明示的に定義されておらず、キー(プライマリまたはユニークではない)が存在しないレガシーシステムがあります。唯一の関連列のようなFluent nHibernate:主キーが定義されていない2つのテーブルをマップする方法
何か「ユーザー名」です:私は、マッピング定義を以下している
Table: Customer
Column: Id,
Column: Username,
Column: FirstName,
Table: Customer_NEW
Column: Username
Column: FirstNameNew
:
public sealed class CustomerMap : ClassMap<Customer>, IMap
{
public CustomerMap()
{
WithTable("customers");
Not.LazyLoad();
Id(x => x.Id).GeneratedBy.Increment();
References(x => x.CustomerNew, "Username")
.WithForeignKey("Username")
.Cascade.All();
}
public sealed class CustomerNewMap : ClassMap<CustomerNew>, IMap
{
public CustomerNewMap()
{
WithTable("customers_NEW");
Not.LazyLoad();
Id(x => x.Username).GeneratedBy.Assigned();
Map(x => x.FirstNameNew);
}
}
問題はNHibernateはをの「リファレンス」のUPDATE文を生成していますCustomerNewオブジェクトへの参照を持つ新しいCustomerオブジェクトを挿入しようとすると明らかに失敗するCustomer Mapping定義。
「保存」コマンドの更新ではなく、INSERTステートメントを生成するようにマッピング定義を取得するにはどうすればよいですか?またしても、事前に
乾杯
Ollie第