2008-08-01 10 views
25

Ich habe eine schöne Standard-Tabelle-Setup in einer aktuellen Anwendung mit den .NETXSDDataSet und TableAdapter Funktionen. Meine contracts Tabelle enthält einige Standardvertragsinformationen mit einer Spalte für die primary department. Diese Spalte ist eine foreign key zu meiner Departments Tabelle, wo ich die grundlegenden department name, id, notes speichern. Dies ist alles eingerichtet und funktioniert in meinem SQL Server.XSD DataSets und Ignorieren von Fremdschlüsseln

Wenn ich das XSD-Tool verwende, kann ich beide Tabellen gleichzeitig ziehen und es erkennt automatisch den Fremdschlüssel, den ich zwischen diesen beiden Tabellen habe. Das funktioniert super, wenn ich auf meiner Hauptseite bin und Vertragsdaten ansehe.

Wenn ich jedoch zu meiner Verwaltungsseite gehe, um die Abteilungsdaten zu ändern. Ich mache normalerweise etwas wie folgt aus:

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

taDepartment.Fill(dtDepartment) 

jedoch an dieser Stelle eine Ausnahme ausgelöst wird, um die Wirkung zu sagen, dass es eine Fremdschlüsselverweis hier gebrochen ist, ich vermute ich, da ich nicht über die ContractDataTable gefüllt.

Wie kann ich dieses Problem beheben? Ich weiß, dass ich den Fremdschlüssel einfach aus der XSD entfernen kann, damit die Dinge gut funktionieren, aber die zusätzliche Integritätsprüfung dort und die Übereinstimmung des XSD-Schemas mit dem SQL-Schema in der Datenbank ist nett.

Antwort

10

Sie können versuchen, Check-constraints für das DataSet (in seinen Eigenschaften) zu deaktivieren oder die Eigenschaften dieser Beziehung zu ändern und den Schlüssel in eine einfache Referenz zu ändern - bis zu Ihnen.

0

Deaktivieren Sie im Eigenschaftenmenü, es ist die beste Methode!

Verwandte Themen