2009-08-10 7 views
0

zu Beginn zu realisieren, schrieb ich eine C# -Klasse. Dann habe ich mit dem Tool "xsd.exe" ein Schema für die Klasse erstellt. Ich stellte dieses Schema in das Schema Sammlung meiner Datenbank und eine neue XML-Spalte erstellt:Suche, wie ein Primärschlüssel in einem XML-Schema mit Autoinkrement-Funktion

CREATE XML SCHEMA COLLECTION AppointmentSC AS 'sein unmögliches ein Schema hier im Forum einfügen' GO

ALTER TABLE Adresse ADD xmlAppointment XML (AppointmentSC); GO

Jetzt kann ich ein Objekt meiner Klasse in/aus meiner Datenbank serialisieren/deserialisieren. Im nächsten Schritt möchte ich mehr als ein Objekt meiner Klasse in der Datenbank speichern. Ich könnte eine Sammlung für meine Klasse erstellen, aber ich möchte auch neue Objekte nur mit SQL hinzufügen. Ich denke, ich brauche eine Autoinkrement-ID oder einen Primärschlüssel oder so etwas. Jeder Versuch, eine eindeutige ID in meinem Schema zu erstellen, war hoffnungslos.

ich Visual Studio 2008 und SQL Server 2008

freundlichen Grüßen Raimund

Antwort

-1

bin mit ich glaube, Sie verwirrt XML-Schema für eine Datenbankschema haben. Während beide die gleichen Jobs haben, operieren sie in völlig unterschiedlichen und nicht verwandten Welten. Eine Datenbank hat Primärschlüssel und logisch sollte dies auch ein Datenbankschema sein. Markup hat keine Primärschlüssel und hat nur eine Aufzählung als Metadaten, und daher gibt es keine Konvention, nach der Sie in der Sprache des XML-Schemas suchen.

Es sieht so aus, als ob Sie versuchen, eine Datenbank in eine XML-Instanz zu exportieren, für die ein Schema erstellt werden soll. Wenn dies der Fall ist, müssen Sie akzeptieren, dass das Markup eine völlig andere und nicht verwandte Funktion erfüllt als eine Datenbanktabelle. In einer Datenbankstruktur wird durch Metadaten, die mit Spaltenbeschriftungen verknüpft sind, Vererbung aus anderen Tabellen und so weiter impliziert. In einem Schema für Markup-Struktur wird explizit angegeben, dass Metadaten verwendet werden, die eine beschreibende Struktur auf Bits von Daten/Inhalt ableiten, wobei diese Metadaten die Daten direkt beschreiben können oder nicht.

Das Problem ist hier nicht technisch. Sie müssen lediglich üben, manuell in XML-Schema-Sprache zu schreiben und Instanzdokumente aus diesem Schema zu generieren, um die Unterschiede, Vorteile und Schwächen des Markup-Schemas im Vergleich zum Datenbankschema kennenzulernen.

Verwandte Themen