我正在尝试获取新插入记录的自动生成的 ID。使用后面的 C# 代码,我能够使用我的 SQL 数据库创建一个快速示例项目,并使用以下代码成功检索到值。但是在我的工作项目中,Intellisense 不会提供我需要的属性,实际上数据库中存在的任何属性都不会显示,即在 EDS_OnInserted 中,找不到“ContactID”:
protected void EDS_OnInserted(object sender, EntityDataSourceChangedEventArgs e)
{
Contact myContact = e.Entity as Contact;
Label1.Text = "ID = " + myContact.ContactID;
}
<asp:EntityDataSource ID="EntityDataSource1" runat="server"
ConnectionString="name=CEntities" DefaultContainerName="CEntities" OnInserted="EDS_OnInserted"
EnableFlattening="False" EnableInsert="True" EntitySetName="Contacts">
</asp:EntityDataSource>
<br />
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="300px"
AutoGenerateRows="False" DataKeyNames="ContactID"
DataSourceID="EntityDataSource1">
<Fields>
<asp:BoundField DataField="ContactID" HeaderText="ContactID" ReadOnly="True"
SortExpression="ContactID" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
<asp:CommandField ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<br /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
我不知道我的工作项目有什么不同。