MVC / WCF和Ado net实体框架

时间:2010-12-10 14:16:10

标签: asp.net-mvc wcf

我有一个使用Ado .net Entity框架进行数据库操作的Web服务(WCF).I使用此框架生成所有实体。所以我的问题是我可以使用Entity框架生成的这些模型来引用我的MVC应用程序吗?如果没问题,那么就停止在MVC框架上编写Model,这样可以节省大量的时间。

总结并说清楚, 可以将wcf代理客户端用作mvc的视图模型。

3 个答案:

答案 0 :(得分:2)

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

现在剩下的就是拥有视图模型,这些模型将填补视图和来自WCF服务的模型之间的空白。

事实上,在一个设计合理的ASP.NET MVC应用程序中,控制器永远不应该知道数据的来源:它可以是SQL数据库,一些ORM框架,一个远程服务,...控制器应该使用的所有内容您已定义的此合约(存储库)以及视图模型和实际模型之间的映射。实际的数据操作应该由您的存储库的特定实现来执行。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

是的,你可以。 MVC默认删除EF特定的properties

  

在第一部分中,我们定义了一个   应该是拉出的方法   正确的默认逻辑   对象模板。你会注意到的   提到System.Data.EntityState   (定义于   使用的System.Data.Entity.dll)   过滤掉某些实体框架   属性。如果您不使用实体   框架你可以安全地删除它   线。你会知道你不需要那个   如果你没有引用那么行   System.Data.Entity.dll会   导致这个代码爆炸了   铝箔在微波炉中。