2014-06-17 33 views
0

從WebApi返回nHibernate實體是個好主意嗎?對於簡單的實體,我試圖使用這個,但複雜的實體呢。在這種情況下如何處理延遲加載?從web api返回nhibernate實體?

+1

嗯,我確實使用NHiberante,web-api和angularjs。並且,形成DB到UI並返回的是POCO對象。但它不是免費的。你必須管理序列化。因此,要麼使用自定義的JSON解析器(可注入Web api),要麼將POCO轉換爲裝飾有[Json]屬性的DTO。但總的來說,這是可行的...也許開始,嘗試玩,谷歌,問一次問題會出現在這裏... –

回答

4

可以通過WebAPI返回複雜實體,但它不是最好的方法,我建議創建一個DTO對象來匹配客戶端操作映射到NHibernate實體並將其發送API。

關於延遲加載,如果您通過Web API公開對象,將無法使用,因爲對象序列化實體的所有屬性將被訪問,並且它們將從持久性加載,因此在事實上在這種情況下使用延遲加載效率不高。