Hallo allemaal,
Ik ben wat aan het spelen met NHibernate en probeer een example na te bouwen. Ik heb de volgende class:
De xml die erbij hoort:
En de code die ik probeer uit te voeren:
Maar elke keer als ik probeer de session.save te doen dan zegt ie dus Unknow entity class Classlibrary1.Cat. Ik heb al gezocht op internet en wat dingen uitgeprobeerd zoals het goed zetten van de build action en dergelijke, maar het werkt nog steeds niet. Wie kan me hier bij helpen?
Ik ben wat aan het spelen met NHibernate en probeer een example na te bouwen. Ik heb de volgende class:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ClassLibrary1 { public class Cat { private string id; private string name; private char sex; private float weight; public Cat() { } public virtual string Id { get { return id; } set { id = value; } } public virtual string Name { get { return name; } set { name = value; } } public virtual char Sex { get { return sex; } set { sex = value; } } public virtual float Weight { get { return weight; } set { weight = value; } } } } |
De xml die erbij hoort:
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="ClassLibrary1.Cat, ClassLibrary1" table="Cat"> <!-- A 32 hex character is our surrogate key. It's automatically generated by NHibernate with the UUID pattern. --> <id name="Id"> <column name="CatId" not-null="true"/> <generator class="assigned" /> </id> <!-- A cat has to have a name, but it shouldn' be too long. --> <property name="Name"> <column name="Name" length="16" not-null="true" /> </property> <property name="Sex" /> <property name="Weight" /> </class> </hibernate-mapping> |
En de code die ik probeer uit te voeren:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| private void button1_Click(object sender, EventArgs e) { Configuration config = new Configuration(); ISessionFactory sessionFactory = config.Configure().BuildSessionFactory(); config.AddAssembly("ClassLibrary1"); ISession session = sessionFactory.OpenSession(); ITransaction tx = session.BeginTransaction(); Cat princess = new Cat(); princess.Name = "Princess"; princess.Sex = 'F'; princess.Weight = 7.4f; session.Save(princess); tx.Commit(); session.Close(); sessionFactory.Close(); } |
Maar elke keer als ik probeer de session.save te doen dan zegt ie dus Unknow entity class Classlibrary1.Cat. Ik heb al gezocht op internet en wat dingen uitgeprobeerd zoals het goed zetten van de build action en dergelijke, maar het werkt nog steeds niet. Wie kan me hier bij helpen?
Hail to the king baby!