Linq to Entity – Many to Many Relationship Problem

Aktuell habe ich folgendes Problem.
Ich habe eine Tabelle Rollen und eine Tabelle Benutzer, beide stehen über eine dritte Tabelle in einer m:m-Beziehung. Per Linq-to-Entity, also über ein ADO.NET Modell hole ich mir die Daten. Jedoch kann ich keine Relationen speichern.
Aktuell bekomme ich die Fehlermeldung:

EntitySet 'UserInRole' kann nicht aktualisiert werden, denn es hat eine DefiningQuery, und im <ModificationFunctionMapping>-Element ist kein <InsertFunction>-Element zur Unterstützung des aktuellen Vorgangs vorhanden.

Eine Suche im Netz bring mich nicht wirklich weiter. Dort hieß es, ich soll für die m:m-Tabelle einen Primary-Key setzen. Habe ich über beide Felder getan, Ergebnis war das selbe.
Bei dem Beispiel kann ich es über den Role-Provider lösen, aber so richtig weiter bringt es mich dann an anderer Stelle nicht.
Ich werde weiter berichten.

5 Gedanken zu „Linq to Entity – Many to Many Relationship Problem“

  1. Uh, ehrlich gesagt weiß ich das nicht mehr. Leider kann ich auch nicht mehr nachschauen, da ich an den Sourcecode nicht mehr ran komme.

    Gruß
    Björn

  2. argh, kleiner entscheidende Infolücke:

    Habe eine Lösung gefunden:

    Man muss von User und Role jeweils eine One-To-Many-Beziehung zu UserInRole setzen und die RoleId und UserId in UserInRole als PrimaryKeys setzen.

    Diese Lösung hab ich hier her http://www.west-wind.com/weblog/posts/137000.aspx

    siehe [updated from comments – 12/24/2009]

    Gruß
    Philipp

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.