Als C# Anfänger habe ich im Praktikum ein Problem mit einer mir gestellten Aufgabe und hoffe, das mir hier jemand einen Schubs in die richtige Richtung geben kann.
Wir verwenden Visual C# 2010.
Ich habe eine XML Datei in der die Beschreibung für 2 durch einen Outerjoin verbundene Tabellen stehen.
---
<dmd:model xmlns:dmd="urn:CS.SY_DMD" dominant="RWKonto" >
<dmd:table name="RWKonto" primary="rwkto_id">
<dmd:column name="rwkto_id" alias="Id" type="serial" size="4" nullable="false" />
...
</dmd:column>
<dmd:join source="rwkto_id" target="rwkto_id" detail="RWEAFremdKonto" lookup="true" outer="true" targetCardinality="0..n"/>
</dmd:table>
<dmd:table name="RWEAFremdKonto" primary="rweak_id">
<dmd:column name="rweak_id" alias="FremdKontoId" type="serial" size="4" nullable="false" />
…
</dmd:table>
</dmd:model>
---
Nun sollen alle nicht nullbaren durch den Outer Join verbundenen Spalten einen Fehler liefern.
Als Lösungsansatz habe ich mir folgendes überlegt:
Den Namen von Source und Target aus der Join Zeile auslesen
Attribut vom Source einlesen
Attribut vom Target einlesen
Prüfen Source Attrib.(nullabe = false) = Target Attrib. (nullable = false) = Fehler !!!
Nun meine Fragen:
Ist dieser Lösungsansatz so umsetzbar und wenn dem so ist, wie kann ich auf die Join Zeile und die Abschnitte der einzelnen Tabellen zugreifen?
Gibt es in der Systems.XML einen Befehl dafür, oder muss ich die komplette XML Datei als Text einlesen und die entsprechenden Stellen suchen lassen ?
Ich würde mich über jede Hilfestellung sehr freuen.