隨着我越來越多地瞭解ASP.NET MVC,我將更多地介紹給Data Annotations。
特別在MVC中,它們用於驗證,這給我一些擔憂。
最大的原因是我喜歡保持我的模型爲POCO並儘可能乾淨。
現在如果我在解決方案(即Web前端,桌面應用程序,Web服務)中跨多個項目共享這些模型類,該怎麼辦?
基本上我關注的是具體的我MVC前端應用程序可能會影響其他一些項目,如動態數據等 我已經有我的業務對象從我的數據庫模型分離(在這種情況下LINQ2SQL),所以我不擔心註解關於註釋對我的DAL有影響,但我想知道我對其他項目的恐懼是否合法。數據註釋真的是驗證的好主意嗎?
另外我認爲將一個必需的錯誤消息綁定到你的模型有點瘋狂。
我想這個問題會,如果我創建了單獨的模型爲每個項目(Web,桌面,網絡服務等)來解決,但是這將是我的實際目前的共享模式直接拷貝。 這是正確的道路嗎?
這會對我的解決方案產生重大影響(從一個模型到另一個模型的映射發生很多)。
您認爲如何?
我想聽聽你認爲數據註釋的好壞使用。
我知道這是一個5歲的回答,但你可以請點我在正確的方向?你所說的話很有意義,你不能用數據註釋做所有事情。 – dpp 2016-07-26 03:13:48
@dpp - 是的,自從我構建了大量的驗證以來,已經有一段時間了,在那些年裏DataAnnotations已經有了一些改進,其他工具也有了一些改進。無論如何,我們接觸它的方式是構建一個2階段驗證管道。首先是基於DataAnnotations的方法來檢查你可以在單個對象的內存中執行的操作。第二階段是一個依賴注入的解決方案,可以與數據庫進行驗證,以查找需要查詢的唯一性和其他約束條件。今天我可能會在這裏使用FluentValidation作爲膠水。 – 2016-07-27 13:57:15