使用Web服务作为数据访问层开发ASP.NET MVC应用程序

Kut*_*yel 3 c# asp.net-mvc wcf web-services asp.net-mvc-5

这是场景:

我们拥有一个完整的功能数据库,包含数百个表和一个完整的自行开发的WCF(Windows Communication Foundation)Web服务API.

我的任务是使用此服务开发ASP.NET MVC应用程序以进行数据交互.

为了达到这个目的,我知道所有的逻辑和服务消耗将在我的应用程序的控制器上,顺便说一下,它是 MVC 5.

问题是,由于整个数据库已经在生产中,我没有一个模型来支持所有的视图和控制器,我不知道是否有办法使用Web服务提供的类作为我的实际模型.

ASP.NET MVC依赖于EntityFramework和类定义的模型,但是按照DataBaseFirst方法的建议将整个数据库复制到EF类中根本不可行,因为数据库结构非常庞大,我并不需要全部为了我的任务.

这是可能的还是开发常规ASP.NET应用程序会更容易?

任何答案或代码片段将不胜感激!

Kri*_*tof 5

如果你想搭建你的页面,你只需要使用实体框架(这不是那么有用).
您可以直接在视图上使用Web服务类,也可以(也可能应该)使用视图模型将数据提交到视图中.
尽可能简单的例子是:

public ActionResult Index(int id)
{
     var webserviceObject = webserviceProxy.GetMyObject(id);
     var vm = new MyViewModel();
     vm.Name = webserviceObject.Name;
     return view(vm);
}
Run Code Online (Sandbox Code Playgroud)

您的简单视图将如下所示:

@model MyViewModel
<html>
<body>
<h3>@Model.Name</h3>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)