我一直在做服务器端渲染应用程序,现在我开始为客户端渲染做WebApi + javascript框架。
我认为创建User
的表单还包含Organization
的字段,该字段将在一个事务中与User
一起创建。如果我要进行服务器端渲染,我会使CreateUserViewModel
包含表单中的所有字段,我的控制器操作将采用CreateUserViewModel
,然后将CreateUserViewModel
字段映射到User
并且Organization
个实体字段。
但是如果我正在制作REST api,我是否也应该在ViewModel中使用这种逻辑,它包含表单中的所有字段,哪个是控制器中action方法的参数?或者我应该有两个单独的方法POST: /users
我POST: /organizations
并在客户端执行从输入字段到User
和Organization
的映射,并分别调用这两个方法?如果第二个选项是正确的方法,那么我将如何使其成为事务性的呢?
答案 0 :(得分:0)
将控制器中的操作分开并将两个独立的视图模型发送给它们要好得多,然后您可以将业务层中的Crud作为事务执行,或者如果使用实体框架,则可以使用工作单元模式。 考虑在其他一些形式中你只想添加用户,那么如果选择第一种方法,你必须发送一个包含大量空字段的大视图模型。 BR MReza