0

外部キーを設定しようとしています

protected void AdresDetailsView_ItemInserting(object sender,     DetailsViewInsertEventArgs e)
{
    var Id = Convert.ToInt32(CustomerDropDownList.SelectedValue);
    e.Values["Customer_Id"] = Id;
}

私のエンティティ (Adres) にはプロパティ Customer_Id がないため、これは機能しません。
Customer_Id はデータベースの列名であり、ナビゲーション プロパティである Customer プロパティを使用する必要があります。
しかし、方法がわかりません。

私はEF 4.5を使用しています

4

2 に答える 2

1

Code First を使用していますか? その場合は、独自の外部キー プロパティを作成し、Fluent APIを使用して制約と関係を確立することをお勧めします。

于 2013-02-05T15:33:23.957 に答える
1

最も簡単な方法は、ナビゲーション プロパティを変更して外部キー プロパティを使用することです。Customerこれにより、クラスに aとCustomerId/ Customer_Id/whatever 必要なプロパティの両方を持たせ、同期を維持できます。その後、現在試みている方法で顧客 ID を更新できます。ただし、使用している EF のバージョンを指定しません。また、古いバージョンは外部キー プロパティをサポートしていません。

外部キー プロパティがオプションでない場合は、ID を持つ顧客がIdコンテキストに存在することを確認する必要があります。これは次のようなものになります。その後、その特定の顧客var customer = context.Customers.SingleOrDefault(c => c.Id == Id);にプロパティを設定できます。Customer

于 2013-02-05T14:39:00.477 に答える