Dieses Ding mich verrückt fährt, und der Fehler ist mir ziemlich sinnlos:Es hat eine DefiningQuery aber kein InsertFunction Element ... err
nicht imstande, die EntitySet ‚TableB‘ zu aktualisieren, da es eine DefiningQuery hat und In dem Element ist kein Element vorhanden, um die aktuelle Operation zu unterstützen.
Meine Tabellen sind so:
TableA int idA (identity, primary key) ... TableB int idA (FK for TableA.idA) int val
TableB hat keine definierte Primärschlüssel in der SQL-Server. Das Entity Framework hat die Tabelle und die Zuordnung importiert und beide Felder als Schlüssel festgelegt. Aber es wird diesen Fehler ausgeben, wenn ich versuche, eine Einfügung in die Tabelle durchzuführen!
Was ist los ??
Edit: Wie von Alex vorgeschlagen, war die Lösung dieses:
- Direkt an der edmx Datei klicken, wählen Sie Öffnen mit, XML-Editor
- das Objekt im edmx lokalisieren : StorageModels Element
- die DefiningQuery entfernen
- Benennen Sie den Speicher vollständig: Schema = "dbo" auf Schema = "dbo" (sonst die Name-Eigenschaft
verließ ich den Schlüssel, wie es war, da es mir in Ordnung war, dass sowohl die Spalten als Teil des Schlüssels sind: Code wird eine Fehlermeldung, der Name ist ungültig)
Dank für das Update - die Schritt-für-Schritt-Anleitung geholfen Diese EF newb erhalten die ASP.NET MVC Tutorial App arbeiten! –
Thnx dafür! Ich hatte ein Problem, dass EF keine richtige edmx-Datei für SQL-Server 2000-Tabelle generiert, die Primärschlüssel HAS hat. Aber diese Anweisung rettete mich :) – 100r
3,5 Jahre später, und dieser Beitrag hilft immer noch PPL, in diesem Fall, ME! ... Um: Palantir für die Beschreibung Schritt für Schritt (es hat funktioniert) und dank Alex >>> Bravo! – nanonerd