Asp.net mvc MVC/WCF与Ado-net实体框架

Asp.net mvc MVC/WCF与Ado-net实体框架,asp.net-mvc,wcf,Asp.net Mvc,Wcf,我有一个web服务(WCF),它使用Ado.net实体框架进行数据库操作。我使用这个框架生成所有实体。因此,我的问题是,我是否可以将实体框架生成的这些模型用于我的MVC应用程序,只引用一个Web服务?如果可以的话,它就停止在MVC框架上编写模型,这节省了很多时间 总而言之,, wcf代理客户端可以用作mvc的视图模型吗 将生成的实体模型移动到单独的程序集,并引用两个项目中的程序集。是的,绝对可以,将服务引用添加到WCF服务,定义一个存储库接口,该接口将表示可以使用模型类执行的操作,在该接口的实现

我有一个web服务(WCF),它使用Ado.net实体框架进行数据库操作。我使用这个框架生成所有实体。因此,我的问题是,我是否可以将实体框架生成的这些模型用于我的MVC应用程序,只引用一个Web服务?如果可以的话,它就停止在MVC框架上编写模型,这节省了很多时间

总而言之,,
wcf代理客户端可以用作mvc的视图模型吗

将生成的实体模型移动到单独的程序集,并引用两个项目中的程序集。

是的,绝对可以,将服务引用添加到WCF服务,定义一个存储库接口,该接口将表示可以使用模型类执行的操作,在该接口的实现中,只需使用自动生成的代理客户端调用服务即可

现在只剩下视图模型了,它将填补视图和来自WCF服务的模型之间的空白


事实上,在一个设计合理的ASP.NET MVC应用程序中,控制器永远不应该知道数据来自何处:它可能是SQL数据库、某种ORM框架、远程服务。。。控制器应该使用您定义的契约(存储库),并在视图模型和实际模型之间映射。实际的数据操作应该由存储库的特定实现来执行。

是的,您可以。默认情况下,MVC会删除特定于EF的文件

在第一节中,我们定义了 应该显示拉动的方法 就在我们默认的逻辑之外 对象模板。你会注意到有 提及System.Data.EntityState (定义见 System.Data.Entity.dll)中使用的 要过滤掉某些实体框架 财产。如果您不使用实体 你可以安全地删除它 线路。你会知道你不需要这个 如果您没有引用,请单击行 System.Data.Entity.dll,它将 使此代码像爆炸一样爆炸 微波炉中的铝箔


谢谢你的回答。我可以将EF生成的模型作为“视图模型”直接用于我的mvc应用程序吗?谢谢,但我更关心的是EF生成并在wcf web服务上公开的模型(代理客户端),我可以将它们作为mvc web应用程序上的“视图模型”使用吗。