2013-08-01 79 views
0

我剛剛偶然發現了EF Code First教程,它使用Fluent API創建POCO配置。我不知道這在EF中是可用的,並且以前只有數據註釋。實體框架Fluent API:違反DRY?

看這個教程後,我的「流利的API與數據註釋」可能閱讀十篇/主題。似乎共識是Fluent API允許您將您的「啞」域POCO與持久性邏輯分開。我看到的明顯問題是,您沒有得到與數據註釋一起出現的前端驗證。我還沒有閱讀pro-Fluent API人羣對於如何解決這個問題的迴應。

使用流利的API,你不得不重複的配置文件,以及對前端的邏輯是什麼?

回答

1

是,使用流暢的API的方式很可能是你最終會在您的前端驗證複製實體元數據時。

一個流暢的API方法的最大好處是,你的實體對實體框架沒有依賴性。通過將數據註釋屬性移動到System.ComponentModel.DataAnnotations程序集,.NET 4.5中已修復此問題。

這也與複雜的實體模型共同的,那你的前端實際上不會使用域實體,但是會使用的DTO還是從實體預計一些前端的具體型號。在這種情況下,無論如何你都會失去你的數據註解屬性。

+0

啊。我懂了。你的第二段與EF的新版本有點不同,但就第三段而言,你的前端(視圖)不應直接使用域POCO。他們應該使用視圖模型。我認爲我在實現這個過程中遇到的問題是因爲幾乎所有我見過的EF教程/視頻都使用了最基本的示例(單個項目,在視圖中使用域對象等),這些示例遠離實際項目,它變得無益。無論如何,謝謝! – im1dermike

相關問題