我正在使用EF4制作ASP.NET MVC应用程序,使用Controller - >查看模型 - >服务层 - >存储库 - >数据模型(EF)方法。
我的问题是业务逻辑/验证在哪里?
我是否应该将域对象复制到视图对象中并在那里进行验证?似乎有很多额外的工作要将域对象复制到视图模型的对象中。
我使用的是使用T4模板生成的POCO。
答案 0 :(得分:4)
就个人而言,我在服务层中放置了业务验证逻辑(像用户名这样的东西,因为资金不足而无法汇款,......),视图模型上需要像用户名字段这样的东西。
答案 1 :(得分:2)
我实际上喜欢@Darin Dimitrov的方法,这就是我目前在项目中使用的方法。并且为了利用显示错误消息,就像使用属性一样,您可以使用ModelState周围的包装器,如this article中所述。