2

我正在一个项目中对我们的 POCO 实体进行编码,在该项目中我没有引用EntityFrameworkDataAnnotations。第二个项目DataAccess包含数据上下文和实体的流畅配置。

一些实体属性是IsRequiredHasMaxLength。如果没有 Xml 注释文档,使用域的开发人员将不知道需要什么或属性的最大长度。因此,我在属性中添加了文档以传达要求。

但是,问题是,如果需求发生变化,我必须更新评论。这意味着我正在更新 2 个库 - Domain 和 DataAccess。

我一直担心在域中引用 DataAnnotations;我的属性没有属性。这些属性将使开发人员能够访问域实体,了解所需内容或属性是否有最大长度。

是否有另一种方法来传达属性的属性要求,而无需在实体上使用 DataAnnotations 或不必更新实体上的 Xml 注释?

或者,我是否对添加DataAnnotation对 Domain 项目的引用过于笨拙?

4

1 回答 1

1

我认为让您的 POCO 实体不带注释并且不包括对 EntityFramework.dll 的引用可能是个好主意。更容易创建可移植的 dll 并重用您的模型。也就是说,如果你需要它。

但是正如您所说,它使“自动记录”模型变得更加困难。您可以尝试从 DbContext 生成模型图,有一个强大的工具。也许这足以满足您的文档需求。我在具有> 200个实体的模型上进行了尝试,它工作正常。对于图表生成,它花费了 cca 2 分钟,但之后它工作正常并且对于“文档”目的很有用。

于 2013-05-13T14:34:14.387 回答