c# - NHibernate.MappingException: No persister for: XYZ -
now, before it: did google , hbm.xml
file is embedded resource.
here code calling:
isession session = getcurrentsession(); var returnobject = session.get<t>(id);
here mapping file class:
<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="hqdata.objects.subcategory, hqdata" table="subcategory" lazy="true"> <id name="id" column="id" unsaved-value="0"> <generator class="identity" /> </id> <property name="name" column="name" /> <property name="numberofbuckets" column="numberofbuckets" /> <property name="searchcriteriaone" column="searchcriteriaone" /> <bag name="_businesses" cascade="all"> <key column="subcategoryid"/> <one-to-many class="hqdata.objects.business, hqdata"/> </bag> <bag name="_buckets" cascade="all"> <key column="subcategoryid"/> <one-to-many class="hqdata.objects.bucket, hqdata"/> </bag> </class> </hibernate-mapping>
has run issue before?
here full error message:
mappingexception: no persister for: hqdata.objects.subcategory]nhibernate.impl.sessionfactoryimpl.getentitypersister(string entityname, boolean throwifnotfound) in c:\csharp\nh2.0.0\nhibernate\src\nhibernate\impl\sessionfactoryimpl.cs:766 nhibernate.impl.sessionfactoryimpl.getentitypersister(string entityname) in c:\csharp\nh2.0.0\nhibernate\src\nhibernate\impl\sessionfactoryimpl.cs:752 nhibernate.event.default.defaultloadeventlistener.onload(loadevent event, loadtype loadtype) in c:\csharp\nh2.0.0\nhibernate\src\nhibernate\event\default\defaultloadeventlistener.cs:37 nhibernate.impl.sessionimpl.fireload(loadevent event, loadtype loadtype) in c:\csharp\nh2.0.0\nhibernate\src\nhibernate\impl\sessionimpl.cs:2054 nhibernate.impl.sessionimpl.get(string entityname, object id) in c:\csharp\nh2.0.0\nhibernate\src\nhibernate\impl\sessionimpl.cs:1029 nhibernate.impl.sessionimpl.get(type entityclass, object id) in c:\csharp\nh2.0.0\nhibernate\src\nhibernate\impl\sessionimpl.cs:1020 nhibernate.impl.sessionimpl.get(object id) in c:\csharp\nh2.0.0\nhibernate\src\nhibernate\impl\sessionimpl.cs:985 hqdata.dataaccessutils.nhibernateobjecthelper.loaddataobject(int32 id) in c:\development\hqchannelrepo\hq channel application\hqchannel\hqdata\dataaccessutils\nhibernateobjecthelper.cs:42 hqwebsite.localsearch.get_subcategory() in c:\development\hqchannelrepo\hq channel application\hqchannel\hqwebsite\localsearch.aspx.cs:17 hqwebsite.localsearch.page_load(object sender, eventargs e) in c:\development\hqchannelrepo\hq channel application\hqchannel\hqwebsite\localsearch.aspx.cs:27 system.web.util.callihelper.eventargfunctioncaller(intptr fp, object o, object t, eventargs e) +15 system.web.util.callieventhandlerdelegateproxy.callback(object sender, eventargs e) +33 system.web.ui.control.onload(eventargs e) +99 system.web.ui.control.loadrecursive() +47 system.web.ui.page.processrequestmain(boolean includestagesbeforeasyncpoint, boolean includestagesafterasyncpoint) +1436
update, here's solution my scenario was: had changed code , wasn't adding assembly config file during runtime.
sounds forgot add mapping assembly session factory configuration..
if you're using app.config...
. . <property name="show_sql">true</property> <property name="query.substitutions">true 1, false 0, yes 'y', no 'n'</property> <mapping assembly="project.domainmodel"/> <!-- here --> </session-factory> . .
Comments
Post a Comment