मैं कहूंगा, क्योंकि वह सारी जानकारी, हमारे पास एक अपराधी होना चाहिए। बहुत सारे मुद्दे हैं (अच्छी तरह से समस्याएं वास्तव में) मानचित्रण . के साथ और सी# कोड , जिसे हम निश्चित रूप से जानते हैं:
मामले में, कि यह फ़ाइल जैसी है NHibernate सत्र कारखाने के लिए उपलब्ध होगा, हमें यह अपवाद मिलेगा
जिसे namespace="NhibernateORM"
मैपिंग में नेमस्पेस विशेषता जोड़कर ठीक किया जा सकता है
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NhibernateORM"
namespace="NhibernateORM"
auto-import="true">
<class name="Layout" table="mytable">
<id name="Id" column="ID" type="int" generator="assigned" />
<property name="Name" column="name" type="String"/>
<property name="xCoordinate" column="xCoordinate" type="double" />
<property name="yCoordinate" column="yCoordinate" type="double" />
</class>
</hibernate-mapping>
एक बार यह तय हो जाने के बाद, हमें बाद में यह अपवाद मिलेगा
जिसे सभी इकाई सामग्री को आभासी बनाकर ठीक किया जा सकता है:
namespace NhibernateORM
{
public class Layout
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual double xCoordinate { get; set; }
public virtual double yCoordinate { get; set; }
तो, निश्चित रूप से, हम जानते हैं - मुद्दा यह है
hibernate.cfg.xml
. में गलत कॉन्फ़िगरेशनMapping.hbm.xml
. का गलत कॉन्फ़िगरेशन गुण
यह hibernate.cfg.xml का हिस्सा होना चाहिए :
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
...
<mapping assembly="NhibernateORM"/>
hibernate.cfg.xml गुण होने चाहिए:
- कार्रवाई बनाएं ===सामग्री
- आउटपुट निर्देशिका में कॉपी करें ===हमेशा कॉपी करें
Mapping.hbm.xml गुण होने चाहिए:
- बिल्ड एक्शन ===एंबेडेड रिसोर्स
- आउटपुट निर्देशिका में कॉपी करें ===कॉपी न करें