我正在通過this msdn article by noted DDD expert Udi Dahan,他在那裏做了一個很棒的觀察,他說他花了好幾年才意識到; 「將所有電子郵件地址存入內存可能會讓你被性能警察鎖定,即使域模型調用某個調用數據庫的服務來查看電子郵件地址是否是不必要的。在數據庫中就足夠了。「使用db來防止UI演示文稿中的錯誤
在捕獲一些添加或編輯場景的LOB表示中,在所有編輯被認爲是有效的之前,您將不會啓用保存類型操作,因此首先要做到這一點是需要啓用「保存」準備通知用戶是否違反唯一性約束。但是如何用NHibernate來做到這一點呢?
我想它需要遵循下面的僞代碼的行。現在有人有這樣的做法嗎?
乾杯,
Berryl
try {}
catch (GenericADOException)
{
// "Abort due to constraint violation\r\ncolumn {0} is not unique", columnName)
//(1) determine which db column violated uniqueness
//(2) potentially map the column name to something in context to the user
//(3) throw that can be translated into a BrokenRule for the UI presentation
//(4) reset the nhibernate session
}
fyi當一個唯一的約束被破壞時,可能會出現一個更具體的異常。 – 2010-07-14 14:54:40