Nhibernate ile garip bir davranış yaşıyorum. Sorun, nhibernate'in bir varlığı silmeden önce bir güncelleştirme gerçekleştirmesidir. Kategori sınıfım ve Ürün sınıfım var. Kategori ürün bir çanta vardır. Ben Kategori gelen bir ürün kaldırdığınızda, nhibernate yapar aşağıdadır:NHibernate, silme işlemini silmeden önce günceller mi?
- Ben koleksiyonu
- Bu veritabanından ürün varlık siler kaldırıldı ürün varlık günceller.
İşte Burada haritalayan
<class name="Category">
<id name="Id">
<generator class="hilo" />
</id>
<property name="Name" lazy="false" length="20" />
<bag name="Products" cascade="all-delete-orphan" lazy="false"
inverse="false">
<key column="CategoryId" />
<one-to-many class="Product" />
</bag>
</class>
<class name="Product">
<id name="Id">
<generator class="hilo" />
</id>
<property name="Name" lazy="false" />
<property name="Discontinued" lazy="false" />
<property name="Price" lazy="false" />
<many-to-one name="Category"
class="Category"
column="CategoryId"
cascade="none" />
</class>
var kod
using (var session = NHibernateHelper.OpenSession())
using (var transaction = session.BeginTransaction())
{
var c1 = session.Load<Category>(32768);
c1.Ps.RemoveAt(0);
session.SaveOrUpdate(c1);
transaction.Commit();
}
var İşte sonuç:
exec sp_executesql N'UPDATE Product SET CategoryId = null WHERE
CategoryId = @p0 AND Id = @p1',N'@p0 int,@p1 int',@p0=32768,@p1=65537
go
exec sp_executesql N'DELETE FROM Product WHERE Id = @p0',N'@p0
int',@p0=65537
go
herkes bu garip davranışları açıklayabilir?
Teşekkürler.
Teşekkürler, postanız çok yardımcı oldu :) – Davita