0
我使用的nHibernate 3.3.1.4與代碼映射。代碼映射:DELETE語句與REFERENCE約束衝突
有Person和Picture對象,其中Person有一個圖片成員。 圖片有一個Id(int)和Image(byte [])成員。 在上傳新的圖片,我想先刪除舊圖片如下:
var person = _personRepository.Get(personId);
var picture = partner.Picutre;
_pictureRepository.Delete(picture);
但是看來我的映射是不正確的,因爲我得到「DELETE語句衝突與基準約束的錯誤.. ......」
這裏是我的映射:
mapper.Class<Person>(map => map.ManyToOne(x => x.Picture, pic => pic.Cascade(Cascade.DeleteOrphans)));
mapper.Class<Picture>(map => map.Property(x => x.Image, x => x.Type(NHibernateUtil.BinaryBlob)));
我之前有過,只是改回來了。沒有錯誤,但在Person的PictureFk字段設置爲null時,Pictures表中的圖像不會被刪除。 – Krokonoster 2012-07-27 07:49:02
我的意思是你必須把它放在'var picture = partner.Picutre;'和'_pictureRepository.Delete(picture);'之間。我會更新示例。 – hazzik 2012-07-27 11:54:00