[C#] Entity Framework Fehler bei 'SaveChanges()'
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
aktuellen vorgangs
beziehung
code
date
datenbank
element
fehlen
fehlermeldung
gefundene artikel
objekt
ordern
speichern
tabelle
url
ursache
verpassen
versuch
vorhanden code
west
wind
-
Hallo!
Bei dem Versuch ein Objekt mit der Beziehung n : 1 in die Datenbank zu speichern, bekomme ich immer wieder diese Fehlermeldung:
EntitySet 'OrderItems' kann nicht aktualisiert werden, denn es hat eine DefiningQuery, und im <ModificationFunctionMapping>-Element ist kein <InsertFunction>-Element zur Unterstützung des aktuellen Vorgangs vorhanden.
Leider verstehe ich überhaupt nicht, was damit gemeint ist.
So gehe ich vor:
/* Codeausschnitt */ Order order = new Order { Id = Guid.NewGuid() }; // Objekt wird registriert App.entities.Orders.AddObject( order ); /* * OrderItem (n :1 Beziehung, also eine Order hat * mehrere OrderItems (soll das Produkt darstellen)) wird gebildet: */ OrderItem item = new OrderItem { AllPrice = article.Price, SinglePrice = article.Price, CategoryName = article.Category.ToString(), Name = article.Name, Order = order, ItemCount = 1, OrderId = order.Id }; // Order-Time wird festgelegt order.Date = DateTime.Now; // Jetzt wird das orderItem registriert App.entities.AddToOrderItems( item ); // nun wird aktualisiert App.entities.SaveChanges(); // --> Hier wird die Ausnahme ausgelöst.
Greetings,
spuglisi
Beitrag zuletzt geändert: 13.3.2011 13:26:05 von spuglisi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo spuglisi,
soweit ich herausfinden konnte, kann die Ursache dafür das Fehlen von Primärschlüssseln in den Tabellen sein (kurz Zusammengefasst).
D.h. Du kannst entweder jedem OderItem eine eindeutige Id verpassen die dann ein Primärschlüssel ist oder Du machst aus OrderItem.Name und OrderItem.OrderId einen mehrspaltigen Primärschlüssel.
Im übrigen sollte (zumindest bei relationalen Datenbanken) jede Tabelle über einen Primärschlüssel verfügen.
Hier der gefundene Artikel: http://www.west-wind.com/weblog/posts/137000.aspx
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage