Entity Framework 6添加了对DynamicData和EntityDataSource控件的支持

在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

你可能感兴趣的:(Entity Framework 6添加了对DynamicData和EntityDataSource控件的支持)