MVC3 - 大数据库,大量控制器

发布于 2025-01-08 05:07:21 字数 341 浏览 0 评论 0原文

我试图找出一种不同的方式来安排这个问题。

  • 我有六个数据库。
  • 他们每人至少有十几张桌子。

有些表很简单,只有几个字段,最多有 11 个(用于记录)。在 aspnet mvc3 中,我每个表都有一个模型。我每个模型还有一个控制器。我有很多控制器。它们被组织在分层文件夹中。我喜欢将视图所在位置和控制器所在位置分开,因此我不想使用 Areas。网址非常干净,我不需要更改任何路由。在一个解决方案下使用多个项目感觉有点大材小用。

除了我正在使用或在这里介绍的之外,还有人使用不同的方法来构建他们的控制器吗?

I am trying to figure out of there is a way to arrange this differently.

  • I have six databases.
  • They each have at least a dozen tables.

Some of the tables are simple with only a few fields, the most one has is 11 (which is for logging). In aspnet mvc3 I have a model per table. I also have a controller per model. I have a lot of controllers. They are organized in hierarchical folders. I like the separation of where views are, and where controllers are so I would prefer not to use Areas. The url's are very clean, and I do not need to change any of the routing. Using multiple projects under one solution umbrella feels like overkill.

Does anyone use a different approach to structuring their controllers other than I am using or have covered here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

又爬满兰若 2025-01-15 05:07:21

50 多个控制器听起来您可能需要进行一些重新设计。

控制器应该将常见功能组合在一起,您不一定需要每个表/模型一个 - 特别是如果您有 50 多个模型!

例如,如果多个表/模型与日志记录相关,请创建一个 LoggingController,并将您已经创建的各个控制器操作放入其中。

另外,看看是否有任何只有几个操作的控制器 - 这可能表明它们可以放入另一个控制器中。

或者,MVC 并不真正关心您将控制器保存在哪里,因此将它们分成 Controllers 文件夹下的文件夹 - 只有当您在不同的命名空间中有两个同名的控制器时,您才会遇到问题。

50+ controllers sounds like you probably need a bit of a redesign.

Controllers should group together common functionality, you don't necessarily need one per table/model - especially if you have 50+ models!

For example, if several tables/models are related to logging, create a LoggingController, and put the individual controller actions you have already created into this.

Also, have a look for any controllers with only a couple of actions - this may be an indication that they could be put into another controller.

Alternatively, MVC doesn't really care where you keep your controllers, so split them up into folders under the Controllers folder - you will only run into issues if you have two controllers with the same name in different namespaces.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文