使用以下模型創建級聯外鍵時會出現問題,其中只有一個模型(UserAddition)知道另一個(用戶),並且不能將UserAddition屬性添加到用戶類:Fluent NHibernate Foreign Key/Cascading
class User {
public virtual Guid Id { get; set; }
// Other fields of no relevance
}
class UserAddition {
public virtual Guid Id { get; set; }
public virtual User RemoteUser {get; set; }
public virtual string AdditionalData {get; set; }
}
爲UserAddition生成的SQL表應該有一個外鍵,用戶被設置爲ON DELETE CASCADE(ON UPDATE的設置並不重要)。
使用以下映射類時,即使映射中指定了外鍵,外鍵始終設置爲「無動作」。我錯過了什麼嗎?
public class UserAdditionMapping : ClassMap<UserAddition>
{
public TrainerToEmployeeMapping()
{
this.Id(x => x.Id);
this.References(x => x.RemoteUser).ForeignKey().Cascade.All();
}
}
使用的數據庫是Microsoft SQL Server的11
感謝。
映射之間可能存在缺失的鏈接。你已經看過http://stackoverflow.com/questions/4017901/fluent-nhibernate-cascade-delete-not-working –
正如我上面所述,用戶不能有一個鏈接到UserAddition - 只有UserAddition可以有一個用戶字段 - 我正在尋找一個解決方案,我不需要修改用戶類。 – Fionn
http://stackoverflow.com/a/7737697/40822 – dotjoe