1

我正在尝试获取新插入记录的自动生成的 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>

我不知道我的工作项目有什么不同。

4

0 回答 0