我正处于“啊哈!”的边缘。在编码领域驱动设计时。问题是如何以及在何处定义涉及实体、值对象和一些额外字段的 MVC ActionMethod 参数类? 实体和值对象类在我的存储库中定义。
我是否:
- 在实现其他类的存储库中创建一个自定义类(以在单个类中获取所有属性),并为额外字段添加更多属性?
- 在存储库中创建实体/值对象 poco 类,并在我的控制器类中创建一个引用这些对象的复合类,然后将其用作 ActionMethod 参数类型?
- 还有什么?
请求表单只是收集了一些客户类字段、一个邮寄地址和一些表单细节,比如他们是如何找到我们的。内容并不重要,只是它包含来自多个 pocos 的信息。
我知道 MVC 会将已发布表单的字段与 ActionMethod 参数中 Poco 的属性相匹配,如下所示:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult RequestCatalog()
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult RequestCatalog(Customer customer)
因此 customer.firstName 会自动绑定到发布表单中的 firstName。
我有以下内容:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult RequestCatalog(string fname, string lname, string address,
string city, string state, string zip, string phone, string howTheyFoundUs)
但想要有类似的东西:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult RequestCatalog( RequestForm requestForm)
有什么想法吗?