用Entity Framework 4(“Database First”)和MVC3结合的最佳方法是什么?

4

我是一个相对较新的C#.Net (.net 4)、EF4、Winforms和MVC3的使用者。

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

现在,我需要构建终端用户的Web前端。我想使用MVC3。我已经通过Pluralsight上的MVC3教程并基本理解了MVC3。但是,无论是在那里还是其他地方,大多数MVC3+EF4的示例都是“代码优先”。

我的困惑是如何最好地将EF4 Database-first与MVC3结合起来?我已经查看了EF4Templates,但是似乎这些生成的POCO与默认的EF4内容不同,会破坏我的Winforms应用程序。我也了解了一些关于Repositories和Automapper的用法。我可以将EF4和我的.edmx添加到MVC3项目中(与Winforms一样),但似乎仍然需要在控制器/视图的模型中构造可以直接在控制器中使用默认的EF4类进行操作?

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

谢谢!

1个回答

1

如果您愿意,可以直接在控制器中使用默认的EF4类进行工作。 MVC 3工具更新中的工具支持用于添加和脚手架控制器,可与Code First一起使用,但如果要直接使用对象,则还可以使用.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/

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


谢谢您的快速反馈!我会查看您提供的链接。我的想法是将我的努力放在任何“最佳实践”上。 - Mark J Bailey
1
更新:在尝试不同的搜索词汇时,我找到了Julie Lerman在MSDN上发布的有用博客文章,其中介绍了如何在EF4.1中使用DBContext生成器将更简单的对象模型层叠到基于数据库的场景中:http://msdn.microsoft.com/en-gb/data/gg685489 - Mark J Bailey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接