2014-07-15 167 views
5

我正在努力使一个传统的VB.NET Web窗体应用程序更现代一点。与其重新在MVC中编写应用程序,我宁愿将应用程序保留在Web表单中,但是会用强类型的实体框架模型(或多个模型)检查字符串类型的数据库调用。我无法找到关于Web Forms和EF6的很多信息。有没有一个很好的指导来帮助?实体框架6 Web窗体指南?

+1

这有点广泛(更不用说资源建议是脱离主题了)。虽然我想像任何EF示例和不使用MVC的漫步将会很好。你可以很容易地定义一些业务模型,并创建一个EF支持的工作单元和存储库,类似于我之前做过的一些工作:http://publicvoidlife.blogspot.com/2014/03/persistence-ignorance-with -entity.html – David

+1

以下指南令我困惑:http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started-第2部分我想做所有的工作服务器端,而不是使用EntityDataSource控件。谢谢,我会看看你的网站。 – TimeBomb006

+1

我同意,我不太关心该教程显示的内容。但是,我从来不喜欢页面标记中的声明性数据源。作为一个学习练习,完全忘记WebForms,看看你是否能够在一个控制台应用程序中使用一些EF示例。根本没有UI绑定,只是纯粹的代码访问数据库。这应该有助于将用户界面的数据访问分开。 – David

回答

1

我在处理与传统的ASP .NET Web窗体应用程序的一些经验,我可以给你以下建议:

1)创建一个代表经营业务层一个新的项目,这是一个接口that's将表达层(Web表单)与数据访问层(实体框架)进行通信。检查Bussiness Access Layer

2)创建一个代表数据访问层的新项目。项目内部使用数据库优先方法创建一个EF模型。本教程将帮助您Entity Framework 4 and ASP .NET Web FormsEntity Framework and ASP .NET Web Forms CRUD和这一个(完整的代码与解释)EF & Database First & Web Forms

使用此新方法迁移的每种新方法都将转至bussines层,因此它不会影响实际的工作项目。

3)创建一个新的单元测试项目,测试商业层的每个新方法。我会建议本教程Writing Unit Tests for the .NET Framework with the Microsoft Unit Test Framework for Managed Code

请记住,这是方法将帮助您测试新的并保持旧的工作!