私は、別のデータベースから顧客の詳細を取得するビューにリンクされたCustomerテーブルを含むモデルファーストエンティティモデルを持っています。 CustomerテーブルとViewの間には1対多の関係があり、CustomerエンティティとViewエンティティの両方にナビゲーションプロパティがあります。ビューベースのエンティティへの1対多の関連付けによるエンティティオブジェクトの削除
私は削除使用してcontext.Customers.DeleteObject(CUST)を実行し、(context.SaveChangesを呼び出そう)私はエラーを取得する:
Unable to update the EntitySet 'ViewEntity' because it has a DefiningQuery and no [DeleteFunction] element exists element to support the current operation.
私がON DELETE CASCADEを設定して、試してみましたどちらも同じエラーを生成しません。
EDITは:表示する多くのコードはありませんが、ここであなたが行く:SO @Overmachineに同意で
Customer selectedCust = (Customer)dgvCustomers.SelectedRows[0].DataBoundItem;
if (selectedCust != null)
{
if (MessageBox.Show(String.Format("Are you sure you want to delete Customer {0}?", selectedCust.CustomerID.ToString()),
"Customer Delete Confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
// TODO - Fix this
this.ReportSchedDBContext.Customers.DeleteObject(selectedCust);
this.ReportSchedDBContext.SaveChanges();
}
}
あなたのコードの仲間を見せてください –
エンティティとテーブルに主キーがありますか? – Overmachine
実テーブル(Customer)に基づくエンティティは、ビューに基づいているため、ビューベースエンティティはありません。 – Overhed