1
我有一個遺留系統,其中兩個表之間的關係沒有明確定義,並且沒有任何鍵(主鍵或unqiue定義)。唯一的相關列是「用戶名」流利的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對象時明顯失敗。
如何獲得映射定義以生成INSERT語句,而不是「保存」命令的UPDATE?
乾杯提前
奧利