在 Entity Framework 6 中,微软除了用 Microsoft.AspNet.EntityDataSource 更新了模板之外,还添加了对 DynamicData 和 EntityDataSource 控件的支持。DynamicData 包可用于使用 Entity Framework 6 创建的代码先行或模型先行的项目,同时这些项目还必须安装了必要的包、实体和字段模板。
要使用DynamicData 控件,需要创建一个新的ASP.NET Dynamic Data 实体Web 应用程序,添加Microsoft.AspNet.DynamicData.EFProvider 的NuGet 包,这会添加对DynamicData EFProvider 二进制文件的引用,并安装所需的模板。
接着,使用EF 代码先行或设计器创建模型,然后在 Global.asax.cs 文件中添加如下代码,注册 Entity Framework 模型。
DefaultModel.RegisterContext( new Microsoft.AspNet.DynamicData.ModelProviders.EFDataModelProvider(() => newNorthwindEntities1()), newContextConfiguration { ScaffoldAllTables = true });
另一方面,Microsoft.AspNet.EntityDataSource 包会安装运行时二进制文件和 Entity Framework 6 的 NuGet 包。还需要在 web.config 文件中添加如下所示的标签前缀:
<pages> <controls> <addtagPrefix="ef"assembly="Microsoft.AspNet.EntityDataSource" namespace="Microsoft.AspNet.EntityDataSource" /> </controls> </pages>
最后,创建一个新的 Web 表单页,用下面的代码将 EntityDataSource 控件绑定到 GridView 或 FormView 上:
<ef:EntityDataSourceID="GridDataSource"runat="server"EnableDelete="true"/>
安装的模板将取代 Microsoft.AspNet.EntityDataSource 包中默认的 EntityDataSource 控件。它还解决了一些与多对多字段模板相关的问题。不过,Microsoft.AspNet.DynamicData.EFProvider 中的模板面向的是 C#和 Web Application 项目,不能用于 WebSites 项目。
原文英文链接: DynamicData and EntityDataSource Updated with Entity Framework 6 Support
评论