İki sınıfım var. Biri Employee
ve diğeri 'Employee'
sınıfı ile sıfır veya bir ilişkisi olan EmployeeDetails
adı verilir. Diğer bir deyişle, bu 'EmployeeDetails'
sınıfına ek veri depolamamız gereken durumlar vardır, ancak bu mutlaka bir kural değildir. Db yapısı, 'EmployeeDetails' ile aynı kimliği paylaşan ebeveyn ile oldukça basittir.nHibernate, bir ile sıfır veya bir ilişki var
Sahip olduğum sorun,sınıfından 'EmployeeDetails'
sınıfını siliyor, nesneyi null olarak ayarlamanın hile ve temizleme oturumlarını gerçekleştireceğini düşünürdüm ama DB'deki kayıt kaldırılmaz.
My eşleştirmeleri ... Hangi
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="StudioBusinessLayer.Data.Structure.Employee, StudioBusinessLayer" table="tblEmployee" lazy="false">
<id name="ID" column="ID" type="int">
<generator class="native" />
</id>
<property name="Name" column="Name" not-null="true" type="string" length="100" />
<!-- etc -->
<one-to-one constrained="false" name="EmployeeDetails" class="StudioBusinessLayer.Data.Structure.EmployeeDetails, StudioBusinessLayer" cascade="all-delete-orphan" />
</class>
</hibernate-mapping>
... ve EmployeeDetails sınıf için ...
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="StudioBusinessLayer.Data.Structure.EmployeeDetails, StudioBusinessLayer" table="tblDetails" lazy="false">
<id name="ID" column="DetailsID" type="int">
<generator class="foreign">
<param name="property">Employee</param>
</generator>
</id>
<property name="Address" column="Address" not-null="false" type="string" length="1000" />
<property name="ContactEmail" column="ContactEmail" not-null="false" type="string" length="255" />
<property name="ContactName" column="ContactName" not-null="false" type="string" length="255" />
<property name="ContactTelephone" column="ContactTelephone" not-null="false" type="string" length="255" />
<property name="ZipCode" column="ZipCode" not-null="true" type="string" length="100" />
<many-to-one name="Employee" class="StudioBusinessLayer.Data.Structure.Employee, StudioBusinessLayer" column="DetailsID" insert="false" update="false"></many-to-one>
</class>
</hibernate-mapping>
insersiyon ve güncellemeler
iyi çalışır, ama bulmak için mücadele ettik Bu, bu işlemi silme işlemi için yapar.Herhangi bir yardım veya öneriler minnetle alınır ...
Endişelenmeyin, en azından onun uzakta kapsüllü yüzden. Şerefe – SeanCocteau