![](/img/trans.png)
[英]ASP.Net MVC & NHibernate Burrow & Fluent NHibernate
[英]How to reattach objects from Asp.Net MVC 4 to Fluent NHibernate
我正在使用帶有Razor視圖的asp.net MVC編寫一個Web應用程序,其中往返於服務器的數據由ajax處理並使用KnockoutJs映射到UI。
我的模型是分層的,並具有子對象列表。 現在這是要抓住的地方:
當我編輯了主要對象(已經在數據庫中)時-更改了一些屬性,添加了一個子對象,等等-我應該如何在NHibernate中更新它?
在Windows應用程序中,主要對象存在於NHibernate會話中,並且可以輕松更新。 在我的Web應用程序中,我將JSON反序列化為“新”對象,然后需要將其重新連接到NHibernate會話。 實際上,反序列化是由模型綁定器完成的。
有這樣做的聰明方法嗎? 我嘗試了合並,但不能與添加的孩子一起使用。
我當前的解決方案是分別處理模型的每個更改。 當我添加一個孩子時,我會通過NHibernate進行更新(通過id加載主模型,將孩子添加到模型中並點擊更新),當我更新一些使用合並的簡單屬性時。 我只是認為這種解決方案不是很優雅。
有什么建議么?
當您從有狀態的世界過渡到無狀態的世界時,這絕對令人困惑。 在您的操作方法中,您已經有了正確的模式:
如果在會話中跟蹤對象,並且您使用的合並錯誤,則不需要調用Update或SaveOrUpdate。 通常,您需要調用的唯一持久性方法是“保存”以使新對象持久化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.