Frage

Ich habe eine ziemlich standardmäßige Tabelleneinrichtung in einer aktuellen Anwendung, die das verwendet .NETZ XSD DataSet Und TableAdapter Merkmale.Mein contracts Die Tabelle besteht aus einigen Standardvertragsinformationen mit einer Spalte für die primary department.Diese Spalte ist eine Unbekannter Schlüssel zu meinem Departments Tabelle, in der ich das Grundlegende speichere department name, id, notes.Das ist bei mir alles eingerichtet und funktioniert SQL Server.

Wenn ich das XSD-Tool verwende, kann ich beide Tabellen gleichzeitig hineinziehen und es erkennt/erstellt automatisch den Fremdschlüssel, den ich zwischen diesen beiden Tabellen habe.Das funktioniert hervorragend, wenn ich mich auf meiner Hauptseite befinde und Vertragsdaten ansehe.

Wenn ich jedoch auf meine Verwaltungsseite gehe, um die Abteilungsdaten zu ändern, mache ich normalerweise Folgendes:

Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()

taDepartment.Fill(dtDepartment)

An diesem Punkt wird jedoch eine Ausnahme ausgelöst, die besagt, dass hier eine Fremdschlüsselreferenz defekt ist. Ich vermute, da ich diese nicht habe Contract DataTable gefüllt.

Wie kann ich dieses Problem beheben?Ich weiß, dass ich einfach den Fremdschlüssel aus der XSD entfernen kann, damit alles gut funktioniert, aber es ist schön, dort die zusätzliche Integritätsprüfung zu haben und zu gewährleisten, dass das XSD-Schema mit dem SQL-Schema in der Datenbank übereinstimmt.

War es hilfreich?

Lösung

Sie können versuchen, Check-Constraints für das DataSet zu deaktivieren (es befindet sich in seinen Eigenschaften) oder die Eigenschaften dieser Beziehung zu ändern und den Schlüssel in eine einfache Referenz zu ändern – ganz nach Ihrem Geschmack.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top