Als Teil einer Aufgabe muss ich eine Webanwendung mit Entity Framework erstellen. Ich folge dem Tutorial bei https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application.Entity Framework Fehlermeldung DbUpdateException
Es gibt vier Tabellen: Branch
, Department
, Employee
und Title
.
Nachdem ein Verfahren zu schaffen, die Daten auf Saatgut I habe die Anwendung im Debugging-Modus ausgeführt und bekam die folgende Fehlermeldung:
System.Data.Entity.Infrastructure.DbUpdateException: ‚Ein Fehler ist aufgetreten, während die Aktualisierung Einträge. Details finden Sie in der inneren Ausnahme. "SqlException: Die INSERT-Anweisung steht im Konflikt mit der FOREIGN KEY-Einschränkung" FK_dbo.Employee_dbo.Branch_BranchId ". Der Konflikt ist in der Datenbank "HumanResourcesWebApp1", Tabelle "dbo.Branch", Spalte "ID" aufgetreten. Die Anweisung wurde beendet.
Ich habe diese Nachricht recherchiert, aber ich befolge die Antworten nicht, die ich gefunden habe. Ich wäre dankbar für eine Richtung. Ich füge auch die Struktur der Klassen hinzu, wenn es hilft. Ich verstehe, dass das Problem zwischen dem Primärschlüssel der Branch
Tabelle ist, wenn es als ein Fremdschlüssel von der Employee
Tabelle gesehen wird, aber ich weiß nicht, wo Änderungen vorzunehmen sind.
Niederlassung:
public int ID { get; set; }
public string Address { get; set; }
public int DepartmentID { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
Abteilung:
public int ID { get; set; }
public string DepartmentName { get; set; }
public string DepartmentFunction { get; set; }
public virtual ICollection<Branch> Branches { get; set; }
Mitarbeiter:
public int ID { get; set; }
public string FirstName { get; set; }
public string SecondName { get; set; }
public double Salary { get; set; }
public DateTime StartingDate { get; set; }
public int BranchId { get; set; }
public int TitleId { get; set; }
Titel:
public int ID { get; set; }
public string TitleName { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
Vielen Dank im Voraus
ist klar aus dem Fehler, dass, während Sie das Mitarbeiterobjekt speichern, die BranchId – Monah
Monah nicht ausgefüllt ist, wenn es klar war hätte er wahrscheinlich nicht gefragt .. wie Chris Tarrant sagt "es ist nur leicht wenn du die Antwort kennst" –