2016-05-20 6 views
0

Zunächst einmal, bitte beachten Sie Ive wie dies andere Fragen wurden überprüft: Unable to update the EntitySet - because it has a DefiningQuery and no <UpdateFunction> element existEntity nicht gespeichert werden, DbUpdateException wurde nicht behandelt

aber keiner von ihnen für mich leider

arbeitete ich die folgende Störung erhalten Nachricht, , was geschieht, wenn keine Primärschlüssel auf dem Tisch ist:

DbUpdateException wurde nicht behandelt

Weitere Informationen: Der EntitySet 'Mitarbeiter' konnte nicht aktualisiert werden, da er eine DefiningQuery enthält und in dem Element kein Element vorhanden ist, um die aktuelle Operation zu unterstützen.

Ich erhalte den Fehler bei der Ausführung:

... 
    ctx.Employee.Add(employee); 
    ctx.SaveChanges(); 
... 

jedoch meine Tabelle hat den Primärschlüssel definiert:

CREATE TABLE [dbo].[Employee] (
    [Id]  INT   NOT NULL, 
    [name]  VARCHAR (50) NOT NULL, 
    [surname] VARCHAR (50) NOT NULL, 
    [password] VARCHAR (50) NOT NULL, 
    [dni]  VARCHAR (50) NOT NULL, 
    [phone] VARCHAR (50) NOT NULL, 
    [salary] VARCHAR (50) NOT NULL, 
    [email] VARCHAR (50) NOT NULL, 
    [address] VARCHAR (50) NOT NULL, 
    [postcode] VARCHAR (50) NOT NULL, 
    [city]  VARCHAR (50) NOT NULL, 
    [province] VARCHAR (50) NOT NULL, 
    [admin] BIT   NOT NULL, 
    PRIMARY KEY CLUSTERED ([Id] ASC) 
); 
+0

Ist die ID für Mitarbeiter eine Identität eingerichtet haben? Wenn ja, geben Sie die ID in dieser Situation an und lassen Sie sie nicht vom dB erzeugen? – theogjpeezy

+0

@theogjpeezy Vielen Dank für Ihre Aufmerksamkeit. Ich denke, es hat keine Identität eingerichtet, ich habe die Entity und die Tabelle wie immer erstellt, aber es funktioniert nicht in diesem Fall –

Antwort

0

ich es fest, indem Sie die folgenden Aktionen ausführen:

  • XML-Code in .edmx mod bearbeiten el
  • Liste item
  • entfernen <DefiningQuery>
Verwandte Themen