我在域項目中編碼我們的POCO實體,其中我沒有提及EntityFramework
或DataAnnotations
。第二個項目DataAccess包含實體的數據上下文和流暢配置。POCO實體Fluent API與數據註釋
某些實體屬性是IsRequired
或HasMaxLength
。使用該域的開發人員將不知道需要什麼,或者沒有Xml註釋文檔的情況下該屬性的最大長度。所以,我已經向屬性添加了文檔來傳達需求。
但問題是,如果需求更改,我必須更新評論。這意味着我正在更新2個庫 - Domain和DataAccess。
我一直擔心在引用域中的DataAnnotations;我的屬性沒有屬性。這些屬性將使開發人員可以訪問域實體,瞭解所需的內容或是否有最大長度的屬性。
是否有另一種方法來傳達屬性的需求,而不使用實體上的DataAnnotations或必須更新實體上的Xml註釋?
或者,我是否不必要地過分強調將DataAnnotation
引用添加到Domain項目?
這篇文章可能有一個很好的建議http://blog.ploeh.dk/2012/02/09/IsLayeringWorththeMapping/ – Fendy 2013-05-13 14:22:10
我個人的感覺是,它不應該是一個問題,附加這些類型的註釋你的實體類。像列和表映射這樣的東西最好留給數據訪問層,這樣您的實體就不會與模型的內在部分無關,但在我看來,指定了您的實體的*內容*的要求的註釋是完全合適的。 – 2013-05-13 14:29:00
我傾向於對這些問題進行實踐。如果某個屬性是使用您的域的開發人員必須知道的屬性,那麼它屬於該域。不要害怕引用數據註釋。我個人無法想象引用DataAnnotations程序集的方案會妨礙可重用性。這是一個比手動更新評論更好的解決方案。 – gabnaim 2013-05-13 15:00:54