ASP.NET MVC控制器命名多元化

RESTful约定表示在单数对象上使用复数名词。

什么是命名ASP.NET MVC控制器的多元化惯例,即
ProductControllerProductsController

有些MVC框架使用复数forms,但是MVC项目模板包含一个名为AccountController的控制器,从而提供单元命名。

没关系。 正如在Asp.net MVC框架中的大多数事情一样,你的select是你的。 没有真正的约定。

这是我个人的意见,但重要的是你select一个计划,并保持一致!

我将不得不不同意以前使用复数或单数而且一致的答案。 每个控制器应该根据它们是否与单个或多个实体进行交互来使用不同的约定。 特别是因为在URL中默认使用控制器名称。

虽然项目模板使用单数(HomeController,AccountController),但只有一个主页,帐户操作仅对会话的单个帐户进行操作。 我不希望/ home的URL访问主页,我也不希望去/帐户来pipe理我的帐户设置。

多个HomesController 工作的房地产网站,有方法有关列出和search多个家庭/家园/新列表。

当你为一个entity framework实体添加一个使用MVC脚手架的控制器时,VS2013使得控制器的名字是复数,所以我build议使用这个默认的控制器来为实体复数。

更新:我改变了主意。 LouD是正确的。 这取决于控制器的上下文。