이제, 당신이 말을하기 전에 : 내가 했던 구글 내 hbm.xml
파일 입니다 포함 리소스.
다음은 내가 호출하는 코드입니다.
ISession session = GetCurrentSession();
var returnObject = session.Get<T>(Id);
클래스에 대한 내 매핑 파일은 다음과 같습니다.
<?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>
전에이 문제를 겪은 사람이 있습니까?
전체 오류 메시지는 다음과 같습니다.
MappingException : 지속 기 없음 : HQData.Objects.SubCategory] NHibernate.Impl.SessionFactoryImpl.GetEntityPersister (String entityName, Boolean throwIfNotFound) c : \ CSharp \ NH2.0.0 \ nhibernate \ src \ NHibernate \ Impl \ SessionFactoryImpl.cs : 766 NHibernate.Impl.SessionFactoryImpl.GetEntityPersister (String entityName)에서 c : \ CSharp \ NH2.0.0 \ nhibernate \ src \ NHibernate \ Impl \ SessionFactoryImpl.cs : 752 NHibernate.Event.Default.DefaultLoadEventListener.OnLoad (LoadEvent 이벤트, LoadType loadType) c : \ CSharp \ NH2.0.0 \ nhibernate \ src \ NHibernate \ Event \ Default \ DefaultLoadEventListener.cs : 37 NHibernate.Impl.SessionImpl.FireLoad (LoadEvent 이벤트, LoadType loadType) c : \ CSharp \ NH2.0.0 \ nhibernate \ src \ NHibernate \ Impl \ SessionImpl.cs : 2054 NHibernate.Impl.SessionImpl.Get (문자열 entityName, 개체 ID) c : \ CSharp \ NH2.0.0 \ nhibernate \ src \ NHibernate \ Impl \ SessionImpl.cs : 1029 NHibernate.Impl.SessionImpl.Get에서 (Type entityClass, Object id) c : \ CSharp \ NH2.0.0 \ nhibernate \ src \ NHibernate \ Impl \ SessionImpl.cs : 1020 NHibernate.Impl.SessionImpl.Get (개체 ID) c : \ CSharp \ NH2.0.0 \ nhibernate \ src \ NHibernate \ Impl \ SessionImpl.cs : 985 HQData.DataAccessUtils.NHibernateObjectHelper.LoadDataObject (Int32 Id) C : \ Development \ HQChannelRepo \ HQ Channel Application \ HQChannel \ HQData \ DataAccessUtils \ NHibernateObjectHelper.cs : 42에서 HQ Website.LocalSearch.get_subCategory () C : \ Development \ HQChannelRepo \ HQ Channel Application \ HQChannel \ HQWebsite \ LocalSearch.aspx.cs : 17 HQWebsite.LocalSearch.Page_Load (Object sender, EventArgs e)에서 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 (부울 includeStagesBeforeAsyncPoint, 부울 includeStagesAfterAsyncPoint) +1436
Update , 여기 내 시나리오에 대한 해결책 은 다음과 같습니다. 코드를 변경했으며 런타임 중에 구성 파일에 어셈블리를 추가하지 않았습니다.