Autor Beitrag
ebber
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: Di 26.04.11 01:17 
Hallo,

ich habe eine fertige SQL Datenbank (eine "Compact" mit .sdf Endung). Diese wollte ich in meinem C# Programm auslesen. Es gibt darin mehrere Tabellen die untereinander verbunden sein sollten. So wie ich das gesehen habe sind sie aber nicht über die Columns verbunden, sondern über extra Indizes.
Nun frage ich mich wie ich das dem VS Designer klarmachen kann? Ich kann nur finden, wie man Columns verbindet.

Eigentlich sollte es ja auch eine Drag n Drop Aktion geben, von der Datenbank in den Designer, dieser zeigt jedoch:

ausblenden Quelltext
1:
2:
3:
Microsoft Visual Studio
---------------------------
Die ausgewählten Objekte verwenden einen nicht unterstützten Datenanbieter.


Funktioniert das überhaupt so einfach, oder muss ich das alles im Code machen?

MfG
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Di 26.04.11 07:08 
Guten Morgen,

was für einen Designer in VS meinst Du denn? Den DataSet-Designer?
Wenn Du Dich über den Server-Explorer mit der Compact-Datenbank verbindest, kannst Du die Tabellen per Drag 'n Drop in den Designer ziehen, die Relationen werden dabei aus der Datenbank übernommen.

user profile iconebber hat folgendes geschrieben Zum zitierten Posting springen:
Es gibt darin mehrere Tabellen die untereinander verbunden sein sollten. So wie ich das gesehen habe sind sie aber nicht über die Columns verbunden, sondern über extra Indizes.
Das bezweifel ich. Denn Indizes sind für Optimierungen da, also schnelleres suchen... Relationen müssen schon über Schlüsselspalten bestehen.
Soviel erstmal.
ebber Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: Di 26.04.11 10:39 
Ich nehme mal an es ist der DataSet Designer, ein Name wird leider nirgends angezeigt. Aber es hört sich alles danach an.

Dieser Drag n Drop vom Server Explorer funktioniert aus oben genanntem Grund leider nicht!?

Das mit den Indizes zur Suchoptimierung hatte ich auch gelesen, allerdings gibt es zwischen den richtigen Spalten keinerlei zusammenhang. Das einzigste was perfekt passen würde um die Tabellen zu verbinden sind die Indizes. Ich habe ja gelesen, was Indizes machen sollten, aber wie wird das denn in SQL jetzt angewendet? Es gibt ja keine Spalte die wie ein Indize heißt?

MfG
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mi 27.04.11 07:00 
Hallo,
user profile iconebber hat folgendes geschrieben Zum zitierten Posting springen:
Ich nehme mal an es ist der DataSet Designer, ein Name wird leider nirgends angezeigt. Aber es hört sich alles danach an.
Du bist lustig. Du musst doch wissen, was für ein Element Du gerade dem Projekt hinzugefügt hast (bzw. welche Vorlage Du genommen hast).

Nach einmal googeln nach der Fehlermeldung hört es sich nämlich eher nach dem LinQ To SQL-Designer an. Schaut so aus, als ob der Designer in VS nicht die Generierung aus einer SqlCompact-Datenbank unterstützt.
Habe dazu mal diese Seite gefunden:
code-inside.de/blog/...inq-to-sql-verwenden
Ist alles gut erklärt und wird Dir weiterhelfen.
Das mit den Relationen: wenn sie nicht in der DB existieren, dann gibt es sie eben nicht. Du könntest notfalls die Relationen in dem generierten Modell hinzufügen, aber besser und sicher ist es natürlich, wenn sie in der DB angelegt sind/ werden.
LG
ebber Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: Do 28.04.11 00:26 
:) Sorry, aber ich wusste ned dass es da verschiedene Designer gibt.

Wie man die Fehlermeldung umgeht hatte ich auch herausgefunden: Stichwort "SQLMetal.exe"
Das war ja aber nicht mein eigentliches Problem.

Ich dachte ja die Indizes verbinden die Tabellen irgendwie, aber das scheint wohl nicht der Fall zu sein, dann muss ich mir das Ganze nochmal ganz ganz ganz genau angucken, ich hoffe ich finde die Lösung.

Danke mal

MfG