我一直在做.NET多年,但实体模型正在吃我的午餐。
在我们编写新课程的过程中,我一直参与我的学校调整70-515 Training Kit
的练习,以便在Visual Studio 2013
上使用。我无法在716-718
的页面Training Kit to work in Visual Studio 2013
上进行练习。
我已经能够通过将我的应用程序池更改为使用32位应用程序来克服程序集加载问题,并且已经找到了如何安装EF以便可以创建源代码。这有一些问题(例如,EF没有创建命名空间),但实体模型正在被接受。
我无法克服的一个错误是,当网站运行时程序错误说明:
在。中找不到指定的命名连接 配置,不打算与EntityClient提供程序一起使用, 或无效。
我在Visual Studio 2013 Express
上使用Windows 8.1
。这里有版本问题吗?
这里奇怪的是页面上有两个EntityDataSources
- 第一个有效。两者都使用相同的连接(我安装了LocalDB
)。我已经得出结论,需要帮助。那里有谁知道怎么让这个工作?
如果问题太长,您能否告诉我Dallas-Fort Worth
区域内某人的姓名?
注意:此站点不喜欢XML。我会邮寄任何回应我的人 用于web.config的XML和作为附件的实体模型。
我页面上的标记如下:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<div class="jumbotron">
<h1>ASP.NET</h1>
<p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS, and JavaScript.</p>
<p><a href="http://www.asp.net" class="btn btn-primary btn-lg">Learn more »</a></p>
</div>
<div class="row">
<div class="col-md-4">
<h2>Customers</h2>
<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=NorthwindEntitiesCnn"
DefaultContainerName="NorthwindEntitiesCnn" EnableFlattening="False" AutoPage="true" AutoSort="true"
OrderBy="it.CompanyName" EntitySetName="Customers"
Select="it.[CompanyName], it.[CustomerID], it.[City], it.[Region], it.[Country], it.[Phone]">
</asp:EntityDataSource>
<asp:GridView ID="GridViewCustomers" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
DataSourceID="EntityDataSource1">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="ID" ReadOnly="True" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="Company" ReadOnly="True" SortExpression="CompanyName" />
<asp:BoundField DataField="City" HeaderText="City" ReadOnly="True" SortExpression="City" />
<asp:BoundField DataField="Region" HeaderText="Region" ReadOnly="True" SortExpression="Region" />
<asp:BoundField DataField="Country" HeaderText="Country" ReadOnly="True" SortExpression="Country" />
<asp:BoundField DataField="Phone" HeaderText="Phone" ReadOnly="True" SortExpression="Phone" />
<asp:HyperLinkField DataNavigateUrlFields="CustomerID" DataNavigateUrlFormatString="orders.aspx?custId={0}"
HeaderText="Orders" Text="view orders" />
</Columns>
</asp:GridView>
<asp:EntityDataSource ID="EntityDataSourceCust" runat="server" ConnectionString="name=NorthwindEntitiesCnn" DefaultContainerName="NorthwindEntitiesCnn" EnableFlattening="False" EntitySetName="Customers" Where="it.CustomerID=@custId" Include="Orders">
<WhereParameters>
<asp:QueryStringParameter QueryStringField="custId" Name="custId" DbType="String"/>
</WhereParameters>
</asp:EntityDataSource>
<asp:DetailsView ID="DetailsViewCust" DataSourceID="EntityDataSourceCust" runat="server" Height="50px" Width="125px" AutoGenerateRows="False" DataKeyNames="CustomerID" OnDataBound="DetailsViewCust_DataBound">
<Fields>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" ReadOnly="True" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" SortExpression="ContactName" />
<asp:BoundField DataField="ContactTitle" HeaderText="ContactTitle" SortExpression="ContactTitle" />
<asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" />
<asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
<asp:BoundField DataField="Region" HeaderText="Region" SortExpression="Region" />
<asp:BoundField DataField="PostalCode" HeaderText="PostalCode" SortExpression="PostalCode" />
<asp:BoundField DataField="Country" HeaderText="Country" SortExpression="Country" />
<asp:BoundField DataField="Phone" HeaderText="Phone" SortExpression="Phone" />
<asp:BoundField DataField="Fax" HeaderText="Fax" SortExpression="Fax" />
</Fields>
</asp:DetailsView>
<asp:GridView ID="GridViewOrders" runat="server"></asp:GridView>
</div>
</div>
页面的代码隐藏如下:
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DetailsViewCust_DataBound(object sender, EventArgs e)
{
Customer cust =
(Customer)DetailsViewCust.DataItem;
this.GridViewOrders.DataSource = cust.Orders;
this.GridViewOrders.DataBind();
}
}
答案 0 :(得分:0)
我觉得自己太笨了!我很抱歉浪费你的时间;在分析我得到的所有奇怪的错误之后,我们忽略了它们意识到两个实体数据源必须在不同的页面上!很抱歉浪费你的带宽......如果没有别的,请向我提出问题至少允许我组织我的想法。
Clark.