我是MVC的新手,现在正在开发一个小项目,但实际上我不知道如何组织我的项目,特别是我正在使用数据库第一种方法,我想知道将Entity框架数据模型放在模型中的哪个位置层或数据访问层。 我的项目分为这些层。
答案 0 :(得分:1)
嗯,你有一层太多,这也是你为什么感到困惑的一部分。 Model
和Data access
是一回事。您的实体应与您检索它们并使用它们的方法共存。您的Business
层也可能会被卷入,因为"业务逻辑"通常与"数据访问"相同处理数据库持久化对象时的逻辑。
然后,为了它的价值,你真的不应该有View Model
层。视图模型应该固有地与它们所服务的视图相关联,因此,除非视图本身是可共享的,否则它们并不是真正可共享的。换句话说,您可以将控制器放在一个单独的项目中,但您的视图和视图模型应该总是在一起。
答案 1 :(得分:0)
我的建议是将视图,控制器和视图模型放在主要Web项目中,将EF模型和数据访问放在数据层类库中,将业务层放在第三类库中。对于一个小项目你真正需要多少层,但是分离网络/业务/数据是很好的做法是值得商榷的,如果项目的增长,它是有用的。