如何在mvc应用程序中创建数据访问层

时间:2014-08-18 14:02:51

标签: c# asp.net-mvc entity-framework-6.1 multi-layer

我需要使用mvc创建register-login应用程序,并且此应用程序需要是多层的。

我对多层架构了解不多,我刚读过几次。所以我相信一个标准的mvc应用程序:

表现层 - 我的观点 业务层 - 控制

我应该把数据访问层放在哪里?在我的应用程序中,当用户单击注册时,模型开始运行。我检查模型是否有效,使用实体框架将其放入数据库并将用户重定向到欢迎页面,但此架构中缺少数据访问层。

我应该在哪里提供数据访问权限以及我应该给予哪些职责?

例如,我应该将所有实体框架代码移动到其他类中,还是仅仅将用户放入数据库的代码移动到自己的模型中?

2 个答案:

答案 0 :(得分:1)

您可以创建一个单独的项目作为数据访问层。将其连接到数据库并在此项目中使用EF,并编写类以使用EF执行所有业务操作。您还可以将业务逻辑与实际的数据库访问逻辑分离,并将它们放在单独的项目中,但我认为这是不必要的,因为EF本身是一个ORM,并且具有所有数据访问逻辑。

现在,在MVC项目中引用此项目,其中视图是您的表示层。模型可以是视图模型或商业模型。无论如何,您需要管理表示层和业务层之间的转换。不要在控制器中执行此操作。创建一个单独的转换器类来执行此操作,遵循' Fat Model,Skinny Controller' MVC的哲学。

答案 1 :(得分:-2)

您的观点是您的表示层,您的业务层必须是您的控制器。每个视图都与控制器交互,控制器与实体框架通信。

我建议您更准确地阅读有关MVC模型及其工作的内容。