2011-02-04 79 views
2

我有四個層解決中等規模的項目:ASP淨MVC驗證和視圖模型

  1. 模型(EF POCO實體)
  2. 數據(EF ObjectContext的)
  3. 服務
  4. ASP淨MVC問題

    a)我應該有模型或MVC項目中的驗證屬性 - Dataanotation嗎?

    b)如果在MVC中,我應該在哪裏設置ViewModel-s,然後在Controller中使用數據填充ViewModels?否則如果在其他項目上應該爲VewModel創建Repository?

    c)應該ViewModel驗證>?

回答

2

A,C)如果你有一個是從你的DTO的不同視圖模型,那麼你可能更喜歡在類型使用DataAnnotations。這樣,您可以在嘗試保留之前進行驗證,並且在您的DTO在您的MVC應用程序範圍之外使用的情況下堅持使用。 B)我通常將視圖模型放入我的MVC應用程序的Models文件夾中,並將我的DTO放入與我的MVC應用程序分開的數據項目中。我使用AutoMapper LOT在我的視圖模型和我的DTO之間複製值。

0

對Models和ViewModels進行驗證是可以的。它更符合你的喜好,但最好對ViewModel進行驗證(你不需要使用綁定等),但是當模型也可以使用時,創建很多ViewModel還有更多的工作要做。

-1

我真的希望創建模型內的兩個文件夾:

一個是數據庫模型類,另一個是視圖模型。

您還可以將所有類型的驗證添加到數據庫模型類中。

+3

這與這個問題有什麼關係? – 2017-04-03 06:39:27