Ich habe eine Designs-Tabelle, die Links zu einer Junction-Tabelle, die Links zu einer DesignAnalysisSoftware Lookup-Tabelle. Es ist eine 1 zu viele zu 1 Beziehung. Ich versuche, den Datensatz zu aktualisieren und Datensätze aus der Junction-Tabelle hinzuzufügen/zu löschen, ohne die Nachschlagetabelle zu berühren. Ich habe einen Weg gefunden, der die Datensätze aus der Junction-Tabelle entfernt, aber keine Möglichkeit findet, den übergeordneten Datensatz zu aktualisieren, der nur in die Junction-Tabelle eingefügt wird.Hinzufügen eines Datensatzes zu einer Junction-Tabelle beim Aktualisieren eines Datensatzes
der Code im verwenden ist unten.
public bool UpdateDesign(Design design){
if (!Validate(design)){
return false;
}
var DesignFromDb = _context.Designs.Single(d => d.StructureId == design.StructureId);
if (DesignFromDb != null){
_context.Entry(DesignFromDb).CurrentValues.SetValues(design);
DesignFromDb.ModifiedDate = DateTime.Now;
DesignFromDb.ModifiedByFullName = base.GetUsersFullName();
DesignFromDb.ModifiedBy = base.GetUserLogin();
DesignFromDb.DesignAnalysisSoftwares.Clear();
DesignFromDb.DesignAnalysisSoftwares = design.DesignAnalysisSoftwares; <- this adds to the junction table but also adds to the lookup table
}
}
wie Design (Eingang param) erstellt? füge bitte diesen Code hinzu –