1
我有兩個類。 「產品」和「產品」可以有多個「屬性」類對象刪除Nhibernate問題
當有人編輯「產品」時,我想刪除與該產品相關的所有屬性並重新創建新的(第二部分工作正常),但我遇到了一個錯誤,它阻止我刪除屬性。
public ProductMapping()
{
Id(x => x.Id);
Map(x => x.ProductName);
Map(x => x.Description);
Map(x => x.Quantity);
Map(x => x.Price);
Map(x => x.Live);
HasMany(x => x.Images)
.KeyColumn("ProductId")
.Cascade.All()
.Inverse();
HasMany(x => x.Attribute)
.KeyColumn("ProductId")
.Cascade.All();
}
我的屬性映射
public AttributeMapping()
{
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.Value);
Map(x => x.Live);
References(x => x.Product)
.ForeignKey()
.Column("ProductId")
.Cascade.SaveUpdate();
}
我不知道如果我的級聯是正確的,但我想他們!
我試圖讓所有的屬性和做
var AttRepository = GetRepository<ForSale.Domain.Attribute>();
foreach (var a in dbProduct.Attribute)
{
AttRepository.Delete(a);
}
逐個拆除各一個,也試着做了:
dbProduct.Attributes.Clear();
同樣,也不會成功! 我得到的錯誤是
「無法將NULL值插入列‘產品編號’,表‘{} LocalFilePath /PRODUCTS.MDF.dbo.Attribute’;列不允許空值更新失敗 的語句被終止「。
數據庫產品
認爲我可能已經嘗試過,但將在家時再次測試! – Steve 2010-10-12 08:09:21
這工作....我一定沒有混合這與Cascade.All()或東西! – Steve 2010-10-12 22:02:39