Model view controller 在POCO'上使用数据注释;使用MVC进行远程验证

Model view controller 在POCO'上使用数据注释;使用MVC进行远程验证,model-view-controller,poco,data-annotations,Model View Controller,Poco,Data Annotations,我正在开发一个ASP.NET MVC应用程序,我一直在研究如何在我的POCO上使用数据注释,这些注释是在我的服务层中定义的。只要我有对System.ComponentModel和System.ComponentModel.DataAnnotations的引用,这就没有问题,我喜欢的是它允许我在Win Forms应用程序中重用我的服务层 我现在打算使用数据注释进行一些远程验证,并已阅读了本文: 但是,要在此上下文中使用数据注释,我需要参考System.Web.MVC, System.Web和Sys

我正在开发一个ASP.NET MVC应用程序,我一直在研究如何在我的POCO上使用数据注释,这些注释是在我的服务层中定义的。只要我有对System.ComponentModel和System.ComponentModel.DataAnnotations的引用,这就没有问题,我喜欢的是它允许我在Win Forms应用程序中重用我的服务层

我现在打算使用数据注释进行一些远程验证,并已阅读了本文:

但是,要在此上下文中使用数据注释,我需要参考System.Web.MVC, System.Web和System.Web.Routing。这引入了对Web DLL的依赖,这 多少限制了我

有谁能推荐一种好的、干净的方法来使用不与ASP.NET MVC结合的数据注释实现远程数据验证,或者推荐一种更好的替代方法


谢谢你的帮助

我最终解决了这个问题,不再将数据注释放在我的POCO上,而是将它们放在我的ViewModels上,并使用AutoMapper在我的ViewModel和POCO之间进行映射(这为我节省了一些繁琐的映射时间)。Automapper上有一段很棒的视频

为什么对web DLL的依赖性会限制您?嗨,Rob,这实际上是因为如果我正在构建win form应用程序,那么我就不需要对web DLL的任何引用。我的理解是DataAnnotations只需要引用System.ComponentModel和ComponentModel.DataAnnotations命名空间。在前面提到的教程中,它与客户机和服务器验证紧密相连,我只是尝试做服务器验证部分,如果这有意义的话?是的。。。这篇文章糟透了。我将尝试提出一个更干净的解决方案,因为我的实体也在一个单独的程序集中。如果我成功了,我会回来的。