EntityDataSource和Entity Framework 6

Ome*_*r K 9 c# asp.net entity-framework entity-framework-6

我正在学习ASP.NET.我来到EntityDataSorce控件.我正在使用EF6.我已经读过这个控件和EF6有一些问题,冲突,但随着对EntityDataSource的最后更新,这个问题已经解决了.http://blogs.msdn.com/b/webdev/archive/2014/02/28/announcing-the-release-of-dynamic-data-provider-and-entitydatasource-control-for-entity-framework-6. ASPX

我试图按照上面的链接.首先,我创建一个.edmx模型

在此输入图像描述

使用NuGet安装新的EntityDataSource Contro

在此输入图像描述

我添加了两个EntityDataSource控件,并将其中一个的前缀更改为ef.所以我有两个控件,其中一个是旧的,另一个是新的更新

在此输入图像描述

当我点击旧的时,我可以看到配置弹出窗口并进入配置数据源屏幕.但是当点击新的时,没有弹出窗口.那么,我该如何配置数据源呢?这有什么问题?

在此输入图像描述

Web.config文件

    <?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
  </configSections>
  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5"/>
    <pages>
      <controls>
        <add tagPrefix="ef" assembly="Microsoft.AspNet.EntityDataSource" namespace="Microsoft.AspNet.EntityDataSource"/>
      </controls>
    </pages>
  </system.web>
  <connectionStrings>
    <add name="SampleDbEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=OMER-HP\SQLEXPRESS2014OK;initial catalog=SampleDb;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient"/>
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb"/>
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    </providers>
  </entityFramework>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Default.aspx的:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication6.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <ef:EntityDataSource ID="EntityDataSourceNew" runat="server">
        </ef:EntityDataSource>
        <br />
        <asp:EntityDataSource ID="EntityDataSourceOld" runat="server">
        </asp:EntityDataSource>

    </div>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Row*_*ler 16

使用EF6时不支持用户界面.我们不再建议将实体数据源用于新项目,因此我们只是提供了可用于EF6的数据源.您需要直接在标记中执行配置.

  • 什么是新项目的推荐方式? (13认同)
  • 我第二个@ user957479.您能详细说明新项目的推荐方法吗?您是否建议应该使用模型绑定?但是如果某人有一个附加到数据源的`QueryableExtender`怎么办?可以用模型绑定干净地复制吗? (3认同)
  • 纯粹和简单的挫折......我问你,我问一个理由?!!?! (2认同)
  • 好问题,@ user957479.我以为我正在使用这个新项目,我正在努力在WebForms项目中与EF一起玩,但我想我会放弃并回到我的数据库中创建存储过程.它可能很笨重,但至少它有效,我知道我在做什么.有一天我会学习MVC ...... (2认同)