.net 在使用EF和POCO时,我应该在何处/何时验证我的数据?
我开始了一个项目,看看EF4可以用POCO做什么。我创建了一个db和一个自定义POCO。现在我想验证我的数据。为此,我使用企业库验证块5 我可以通过属性将验证包含在我的POCOs中,并将其与实体框架一起使用,但这意味着我的POCOs将不再是POCOs,因为我将依赖项插入了验证框架.net 在使用EF和POCO时,我应该在何处/何时验证我的数据?,.net,entity-framework,validation,poco,validation-application-bl,.net,Entity Framework,Validation,Poco,Validation Application Bl,我开始了一个项目,看看EF4可以用POCO做什么。我创建了一个db和一个自定义POCO。现在我想验证我的数据。为此,我使用企业库验证块5 我可以通过属性将验证包含在我的POCOs中,并将其与实体框架一起使用,但这意味着我的POCOs将不再是POCOs,因为我将依赖项插入了验证框架 我应该在哪里插入验证部分并保持POCO清洁,有什么建议吗 就我个人而言,我认为验证作为实体的一部分不会有太大问题——毕竟,实体是域模型的一部分,可以说,验证规则是其属性的一部分。但我不是领域建模专家:) 最后,验证需要
我应该在哪里插入验证部分并保持POCO清洁,有什么建议吗 就我个人而言,我认为验证作为实体的一部分不会有太大问题——毕竟,实体是域模型的一部分,可以说,验证规则是其属性的一部分。但我不是领域建模专家:)
最后,验证需要与实体进行某种程度的耦合。如果您决定减少耦合,我认为有可能最终导致代码笨拙。对于我的最新项目,我确实将验证分为不同的类,这些类被放在实体的部分类中,我对目前的结果非常满意。我同意您希望您的实体不受验证。这不是域对象本身的责任() 除了基于属性的验证外,企业库验证应用程序块(VAB)还支持基于配置的验证。在这里,您可以遵循两种模式:
祝你好运。我将创建一个服务类并在该类中进行验证
例如,您有一个名为Listing的POCO类。创建一个名为ListingService的服务类。然后使用名为ValidateListing的方法在ListingService中执行验证。下面是使用验证应用程序块执行基于流畅代码的配置的示例:。