|
Salamoalikome, Hello, I use in my application Pattern Parent/Child, and I encountered problems:
The code:
The classes persistences :
public class Client
{
private String Nom;
public virtual String CltNom
{
get
{
return Nom;
}
set
{
Nom = value;
}
}
private Int32 Version;
public virtual Int32 CltVersion
{
get
{
return Version;
}
set
{
Version = value;
}
}
private IList listePersons;
public virtual IList CltListePersons
{
get
{
return listePersons;
}
set
{
listePersons = value;
}
}
}
public class Person
{
private String Nom;
public virtual String PerNom
{
get
{
return Nom;
}
set
{
Nom = value;
}
}
private Nullable<DateTime> Version;
public virtual Nullable<DateTime> PerVersion
{
get
{
return Version;
}
set
{
Version = value;
}
}
private Client client = new Client();
public virtual Client PerClient
{
get
{
return client;
}
set
{
client = value;
}
}
private IList<ProductType> _productTypes;
public virtual IList<ProductType> productTypes
{
get
{
return _productTypes;
}
set
{
_productTypes = value;
}
}
}
public class ProductType
{
private int ProductTypeID;
public virtual int productTypeID
{
get
{
return ProductTypeID;
}
set
{
ProductTypeID = value;
}
}
private string ProductTypeName;
public virtual string productTypeName
{
get
{
return ProductTypeName;
}
set
{
ProductTypeName = value;
}
}
private Nullable<DateTime> _version;
public virtual Nullable<DateTime> version
{
get
{
return _version;
}
set
{
_version = value;
}
}
private Person _person = new Person();
public virtual Person person
{
get
{
return _person;
}
set
{
_person = value;
}
}
}
The files mapping:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TestList">
<class name="TestList.Client, TestList" table="Client">
<id name="CltNom" column="Nom" type="String" >
<generator class="assigned"/>
</id>
<version name="CltVersion" column="Version" generated="never" unsaved-value="negative"/>
<bag name="CltListePersons" cascade="all-delete-orphan" inverse="true">
<key column="CltID"/>
<one-to-many class="TestList.Person, TestList"/>
</bag>
</class>
</hibernate-mapping>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TestList">
<class name="TestList.Person, TestList" table="Person">
<id name="PerNom" column="Nom" type="String" >
<generator class="assigned"/>
</id>
<!--<version name="PerVersion" column="Version" generated="never" unsaved-value="negative" />-->
<timestamp name="PerVersion" column="Version" generated="never"/>
<many-to-one name="PerClient" class="TestList.Client, TestList" column="CltID"/>
<bag name="productTypes" cascade="all">
<key column="PersonNom"/>
<one-to-many class="TestList.ProductType, TestList"/>
</bag>
</class>
</hibernate-mapping>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TestList">
<class name="TestList.ProductType, TestList" table="ProductType" lazy="true" mutable="true">
<id name="productTypeID" column="ProductTypeID" type="int" >
<generator class="assigned"/>
</id>
<!--<version name="version" column="Version" generated="never" unsaved-value="negative"/>-->
<timestamp name="version" column="Version" generated="never"/>
<property name="productTypeName" column="ProductTypeName" type="String"/>
<many-to-one name="person" class="TestList.Person, TestList" column="PersonNom"/>
</class>
</hibernate-mapping>
When I try to add Child (ProductType) the program generates the following error:
object references an unsaved transient instance - save the transient instance before flushing: TestList.Person.
Thanks for helping me well to find a solution!!!
|