2009-06-04 18 views
0
遇到錯誤(ObjectNotFoundException)

我更新了驅動程序Npgsql的到最新版本(2.0.5),並在我的NHibernate的應用... 映射了錯誤:Npgsql的更新(1.0 - > 2.05)和NHibernate的

學校映射:

...

References(x => x.City); 

...

及城市映射:

Id(x => x.ID).GeneratedBy.Assigned(); 
Map(x => x.Name); 
References(x => x.Microrregion); 

現在,當我試圖加載一所學校,我有一個NHibernate.ObjectNotFoundException反對市... 但隨着1.0 Npgsql的一切工作正常...

任何想法?

感謝

回答

0

首先,你積極City存在?你可以針對這兩個表運行SQL查詢嗎?也就是說,SELECT * FROM School LEFT JOIN City ON School.City = City.Id WHERE School.Id = 12345是否會返回您所期望的?

如果是這樣,下一步確保NHibernate生成您所期望的查詢。您可以設置顯示SQL屬性流利的接口上,像這樣:

PostgreSQLConfiguration 
    .Standard // Or whatever dialect you are using 
    .ConnectionString(...).ShowSql() 

一旦你那一套,NHibernate的會寫它正在執行的查詢,它可能在你的日誌或單元測試或任何顯示,這取決於關於你如何安排事情。