【问题标题】:Best way to approach tying in Entity Framework 4 ("Database First") and MVC3在实体框架 4(“数据库优先”)和 MVC3 中进行绑定的最佳方法
【发布时间】:2011-05-06 16:33:31
【问题描述】:

我是 C#.Net (.net 4)、EF4、Winforms 和 MVC3 的新手。

在为我分配的任务开发 Winforms“后端”的过程中,我在 SQL Server 中布置了一个数据库。我设置了一个解决方案,并从数据库中创建了一个 .edmx 作为解决方案中自己的项目/程序集。解决方案中还有引用 .edmx 程序集的 winforms 应用程序。使用默认的 EF4 代码生成,我构建了 Winforms 应用程序,一切正常。

现在,我必须构建最终用户 Web 前端。我想使用 MVC3。我已经阅读了 Pluralsight 上的 MVC3 教程,并且从中对 MVC3 有了相当不错的理解。但是,无论是在其中还是在其他地方,MVC3+EF4 的大多数示例都是“代码优先”。

我的困惑是将 EF4 数据库优先与 MVC3 结合起来的最佳方法是什么?我看过一些 EF4Templates,但是,似乎这些生成的 POCO 与默认的 EF4 内容不同,并且会破坏我的 Winforms 应用程序。我也读过一些关于 Repositories 和 Automapper 的使用。我可以在 MVC3 项目中添加对 EF4 和我的 .edmx 的引用(就像我对 Winforms 所做的那样),但似乎仍然需要构建控制器/视图的模型 OR 可以工作吗直接使用控制器中的默认 EF4 类?

只是寻求一些关于 MVC3 必须如何处理的指导。

谢谢!

【问题讨论】:

    标签: asp.net-mvc-3 entity-framework-4 repository database-first


    【解决方案1】:

    如果需要,您可以直接使用控制器中的默认 EF4 类。 MVC 3 工具更新中用于添加和搭建控制器的工具支持首先使用代码,但如果您想直接使用对象,也可以使用 .edmx 中的现有上下文。

    http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

    如果您希望在应用程序中使用存储库模式,您可以查看 MvcScaffolding 包,有关它的一些信息可以在 Steve Sanderson 的博客上找到。

    http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/

    如果你想走这条路,你也可以自己创建视图模型。

    【讨论】:

    • 感谢您的快速反馈!我会看看你提供的链接。我的想法是将我的努力投入到“最佳实践”中。
    • 更新:在寻找一些不同的搜索词时,我确实在 MSDN 上找到了 Julie Lerman 的这篇有用的 MSDN 博客文章,它实际上涉及在 EF4.1 中使用 DBContext 生成器来分层更简单的对象模型进入数据库优先场景:msdn.microsoft.com/en-gb/data/gg685489
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2015-07-27
    • 1970-01-01
    相关资源
    最近更新 更多