2010-07-14 65 views
1

我目前正在使用實體(使用Visual Studio 2008,FW 3.5 SP1)。 我從數據庫中創建了我的實體,並且一切都正常,除了不強制對字符串字段的長度約束。 瀏覽互聯網,我發現這是非常正常的(見blog post),並且實體將沒有檢查的數據發送到數據庫,以便發送異常。實體字段長度約束

我知道我可以爲我的實體編寫部分類,並使用On<Fieldname>Changing方法,但這需要編寫相當數量的重複代碼。此外,如果我在DB中更改長度,則需要我更改我的代碼。

所以我的問題是:是否有一種通用的方式來呢?對於每個具有最大長度的數據類型來說,是否可以檢查提供的值是否合適?

+0

我的第一個問題是,如果價值不合適,你會怎麼做?如果你打算拋出異常,那麼我會說,這有什麼意義?你可以讓數據庫拋出異常。 – CodingGorilla 2010-07-14 12:31:11

+0

是的,這就是我打算做的(並將異常轉換爲FaultException,以通過WCF)。問題是我讀過數據庫拋出的異常是一個通用的異常(解釋失敗的內部文本)。我希望能夠根據其類型來處理異常。 – Shimrod 2010-07-14 12:34:46

回答

1

因爲我沒有找到一種通用的方法,所以我最終編寫了所有On<Fieldname>Changing方法,並製作了一個小型通用驗證框架,當某些標準未得到滿足時會引發異常。