我开始了一个项目,看看EF 4可以用POCO做什么.我创建了一个db和一个自定义POCO.现在我想验证我的数据.为此我正在使用企业库验证块5.
我没有问题,包括通过属性在我的POCO中进行验证并将其与Entity Framework一起使用,但这意味着我的POCO将不再是POCO,因为我将依赖项插入到Validation框架中.
有什么建议我应该在哪里插入验证部分并保持POCO清洁?
最佳答案 我同意您希望您的实体免于验证.它不是域对象本身的责任(
SRP).
除了基于属性的验证之外,企业库验证应用程序块(VAB)还支持基于配置的验证.您可以在此处遵循两种模型:
>使用基于XML的配置.这得到了很好的支持. VAB包含一个配置工具,允许您配置整个事物而无需编写单行XML.特别是5.0工具非常好.尽管如此,使用XML仍然很难在模型中重构任何内容(但是,单元测试可以帮助您更快地发现错误).
>使用基于代码的配置.虽然我个人喜欢这个模型,因为它可以更好地使您的域易于重构.你可以让它工作,但它还不是很好的支持.您可以查看this thread以查看如何基于代码进行配置以及当前短缺的示例.
祝好运.