在MVC5中将EF模型放入数据库第一种方法的位置?

时间:2016-05-09 14:07:40

标签: entity-framework asp.net-mvc-5

我是MVC的新手,现在正在开发一个小项目,但实际上我不知道如何组织我的项目,特别是我正在使用数据库第一种方法,我想知道将Entity框架数据模型放在模型中的哪个位置层或数据访问层。 我的项目分为这些层。

  • 数据访问层(类库)
  • 业务层(类库)
  • 模型(类库)目前包含EF模型。
  • 查看模型(类库)
  • 查看和控制器(主项目)。

2 个答案:

答案 0 :(得分:1)

嗯,你有一层太多,这也是你为什么感到困惑的一部分。 ModelData access是一回事。您的实体应与您检索它们并使用它们的方法共存。您的Business层也可能会被卷入,因为"业务逻辑"通常与"数据访问"相同处理数据库持久化对象时的逻辑。

然后,为了它的价值,你真的不应该有View Model层。视图模型应该固有地与它们所服务的视图相关联,因此,除非视图本身是可共享的,否则它们并不是真正可共享的。换句话说,您可以将控制器放在一个单独的项目中,但您的视图和视图模型应该总是在一起。

答案 1 :(得分:0)

我的建议是将视图,控制器和视图模型放在主要Web项目中,将EF模型和数据访问放在数据层类库中,将业务层放在第三类库中。对于一个小项目你真正需要多少层,但是分离网络/业务/数据是很好的做法是值得商榷的,如果项目的增长,它是有用的。