Ich habe ein Model-First-Entitätsmodell, das eine Customer-Tabelle enthält, die mit einer Ansicht verknüpft ist, die Kundendetails aus einer separaten Datenbank abruft. Die Beziehung ist eins zu viele zwischen der Customer-Tabelle und der View und ich habe eine Navigationseigenschaft sowohl für die Customer-Entität als auch für die View-Entität.Löschen von Entitätsobjekt mit 1 zu vielen Assoziation zu View-Based Entity
Wenn ich versuche, ein ausführen löschen context.SaveChanges mit context.Customers.DeleteObject (cust) und nennen() Ich erhalte eine Fehlermeldung:
Unable to update the EntitySet 'ViewEntity' because it has a DefiningQuery and no [DeleteFunction] element exists element to support the current operation.
Ich habe versucht, auf Löschen Cascade Einstellung und Keine und beide erzeugen den gleichen Fehler.
EDIT: Es gibt nicht viel Code zu zeigen, aber hier geht:
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();
}
}
zeigen Sie uns Ihren Code bro –
Hat Ihre Entität und Tabelle einen Primärschlüssel? – Overmachine
Die Entität, die auf einer realen Tabelle (Kunde) basiert, tut dies nicht, da sie auf einer Ansicht basiert. – Overhed