2010-01-28 88 views

回答

1

元數據方法運行良好,但我使用的方法是有一組獨立的ViewModel對象,並使用像AutoMapper這樣的工具將EF對象映射到ViewModel對象。 (在更復雜的實現中,EF對象和ViewModel對象之間存在單獨的域模型。)

如果您實施存儲庫模式來檢索ViewModel對象,它也使測試控制器變得更容易。

然後,您可以將您的ViewModel對象歸因於您的心臟內容,而不必擔心Codegen覆蓋您的屬性。也可以使用其他驗證方法(例如FluentValidation),因爲可以使這些方法與xVal平滑工作。

+0

有沒有辦法使用流利客戶端驗證? – 2010-01-28 11:50:12

+1

這是正確的方法(+1),但投影是映射EF - >查看模型的更好方法。 http://blogs.teamb.com/craigstuntz/2009/12/31/38500/ AutoMapper意味着實現完整的實體,這意味着效率低下的SQL,並要求您考慮急切的加載,延遲加載等。投影「正常工作」。仍然爲視圖模型+1。 – 2010-01-28 13:50:09

+1

@craig是的,好點,好鏈接。 @Raul是的,你可以。在FluentValidation的最新版本中有一個FluentValidation to xVal連接。 – mkedobbs 2010-01-28 19:52:37

相關問題