2013-06-18 90 views
0

我從頭開始設計應用程序。我這樣做是爲了讓我的編程技巧變得更好更好。在此應用中,我有兩個實體:如何處理業務層中的相關對象(asp.net mvc + nhibernate)

  • 國家
  • 城市

添加一個國家是不是很難。我將業務層中的視圖模型CountryService轉換爲實體並將其保存。

其次,我需要添加一個城市。要做到這一點,我有一個視圖模型有一個CountryId和城市的字段。我將視圖模型傳遞給CityService。我需要做幾件事情。我需要檢索正確的國家實體,將城市數據轉換爲城市對象,將城市對象添加到國家或將國家添加到城市(通過Nhibernate建議的AddXXX方法)。然後,我需要通過城市信息庫將城市與國家一起保存,或者通過國家服務將城市與城市一起保存,然後存儲在國家信息庫中。

隨着每種方法有1個函數的心態,我有點失去了如何構造這種功能。

回答

2

而是在城市服務獲取的國家爲什麼不直接傳入CountryId進城服務方法和用途: -

var city = new City 
{ 
    Name = "London", 
    country = session.Load<Country>(countryId) 
}; 
session.save(city); 

這並不簡單地訪問數據庫和身體恢復的記錄,它允許您設置外鍵。

這就是說,另一種方法是在您的MVC項目中使用Nhibernate並公開會話,而不是將其完全抽象出來。這一思路正在獲得動力。

相關問題