我建議您將查詢結果加載到viewmodel
,然後在您的viewmodel
的屬性中將您的日期轉換爲本地時間。因爲連接到nHibernate會話的viewmodel
是NOT
,所以當您的httpRequest結束提交事務時,您不會更新實體。
一個viewmodel
實際上是一個DTO
,可以描述爲您的數據flattened model
請參閱本post更多的信息(尤其是回答關於automapper)
編輯看來,你的痛點是當數據的實際顯示被執行時。當我遇到這些問題時,我總是使用displayFor
模板。在我看來,我用沿則路線的東西: -
請注意,這是一個人爲的例子: -
<h1>Books</h1>
<ul>
@foreach (var book in Model)
{
<li>@book.Name @Html.DisplayFor(x=> book.UnitPrice, "Price")</li>
}
</ul>
,然後創建一個顯示模板/Views/Shared/DisplayTemplates/Price.cshtml
@model decimal
<span>£@Model</span>
注:該視圖可以通過幫手等執行您的計算...
這給你很多好處,但它確實意味着我使用價格,我必須使用一個顯示器y模板。不過,我覺得記住我需要爲我的所有價格,日期等使用顯示模板,而不是一些可能會錯過的名稱助手。它始終是關於訓練/調節自己。
它的一切開放辯論,並在一天結束時,你需要感覺舒適的工作方式。但顯示模板似乎對我更好。
我還應該指出,我強烈建議您將此視爲顯示問題,而不是試圖提供從數據庫中檢索數據的kludge。
@Dmitry - 你有鏈接。我通常將我的東西轉換爲List() – chobo2 2011-06-05 04:58:33
我不確定是否有最新版本的NH的任何文檔。你會做一些像「criteria.SetReadOnly(true).List()」。這是一個鏈接到Jira的功能:http://216.121.112.228/browse/NH-908 – 2011-06-05 05:02:32
@Dmitry - 這似乎是放在我的流利映射屬性。這不會工作,因爲有時我需要更新該列。 – chobo2 2011-06-05 05:02:56