我想用NHibernate連接到Northwind數據庫。但由於某種原因,我無法加載實體類型。NHibernate映射錯誤
這是我的實體類
public class Product
{
public virtual Int32 ProductId { get; set; }
public virtual String Desc { get; set; }
}
這裏是我的映射
<class name="Product" table="Products">
<id name="ProductId" column="ProductId" type="Int32">
<generator class="identity"></generator>
</id>
<property name="Desc" column="ProductName" type="String" length="60">
</property>
</class>
我收到以下錯誤消息
無法加載實體:OracleLinq.Product#12 ] [SQL:SELECT product0_.ProductId as ProductId0_0_,product0_.ProductName as ProductN2_0_0_ FROM Products product0_ WHERE product0_.ProductId =?]
這裏是堆棧跟蹤
at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, String optionalEntityName, Object optionalIdentifier, IEntityPersister persister)
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(ISessionImplementor session, Object id, Object optionalObject, Object optionalId)
at NHibernate.Loader.Entity.AbstractEntityLoader.Load(Object id, Object optionalObject, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Load(Object id, Object optionalObject, LockMode lockMode, ISessionImplementor session)
at NHibernate.Event.Default.DefaultLoadEventListener.LoadFromDatasource(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.DoLoad(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType)
at NHibernate.Impl.SessionImpl.ImmediateLoad(String entityName, Object id)
at NHibernate.Proxy.AbstractLazyInitializer.Initialize()
at NHibernate.Proxy.AbstractLazyInitializer.GetImplementation()
at NHibernate.Proxy.Poco.Castle.CastleLazyInitializer.Intercept(IInvocation invocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at ProductProxy4c67cf5bf6e640ab82d8c21a90e2a62b.set_Desc(String value)
at OracleLinq.Form1.Form1_Load(Object sender, EventArgs e)
難道我做錯了什麼?
異常內部是否存在內部異常? – 2009-04-21 21:47:47
通常每當我得到這個nhibernate錯誤時,我都會嘗試在Sql Management Studio中複製並粘貼SQL(使用替換的參數),以確保我沒有做一些愚蠢的事情並拼錯一列。 – Min 2009-04-23 21:55:45