我开始将 WebApi 和 OData 集成到测试台应用程序中。让我们保持简单,并坚持使用一个域实体,客户。显然我会有一个 MVC 控制器。搜索得到它自己的视图模型(基于 Lucene 索引),所以这将是单独的控制器,现在是 ODataController。但由于视图/编辑页面将有自己的视图模型,它们将成为自己的控制器。这开始感觉像是矫枉过正。
试图找出一个好的设计来完成这项工作,并且仍然使用代表实体的 URL 的想法。URL 中的实体是否应该是 Customer 并且我以某种方式基于 URL 参数提供不同的表示?或者 Customer/CustomerSearch/CustomerEdit 应该是不同的实体(这听起来不对)?