2009-03-30 1 views
0

Gibt es eine Möglichkeit in Entity Framework oder Linq zu SQL-Klassen, um eine Klasse zu vielen verschiedenen Tabellen mit dem gleichen Schema zuzuordnen. Zum Beispiel, wenn ich eine Datenbank mit Tausenden von Tabellen für verschiedene Aktien habe. Alle Tabellen haben die gleichen Spalten. Gibt es eine Möglichkeit, eine Basis-Typ-Klasse zu haben, die für die Zuordnung der Daten zu einem Objekt verwendet werden könnte. Ich möchte natürlich nicht Tausende verschiedener Klassen erstellen, nur der Tabellenname ist der Unterschied. Auch die Tabellen ändern sich, dh neue werden hinzugefügt und Namen von einigen ändern sich von Zeit zu Zeit. Idealerweise hätte ich einfach nur eine Klasse und wenn ich sie anfordere, könnte ich ein Symbol übergeben und es würde es der richtigen Tabelle zuordnen.Wie viele Tabellen mit demselben Schema zu einer Klasse zugeordnet werden

Dank

Antwort

3

Das ist ein dummes Datenbank-Design zu sein scheint, und es wird Ihnen mehr Probleme als nur dies verursachen. Wenn alle Daten gleich sind, sollten sie sich in einer einzigen Tabelle befinden. Ob Sie den physischen Speicher dieser einzelnen Tabelle partitionieren, ist ein Implementierungsproblem auf niedriger Ebene, nicht etwas, das im Schema angezeigt werden sollte.

Ich weiß nicht einmal, wie du EF erzählen würdest, dass du eine neue Tabelle hinzugefügt hast, und es ist, es wie alle anderen zu behandeln. Es macht einfach keinen Sinn.

+0

Nun, jeden einzelnen Tick eines jeden Finanzinstruments in einen Tisch zu stecken, erscheint mir sehr schlecht. Dann müssten Sie für jede einzelne Anfrage von Daten auf einem Symbol diese Tabelle filtern oder nur eine Tabelle anfordern. – RBear

+0

SQL Server und andere DBMS sind gut im "Filtern". Sie hätten einfach einen Index für das Aktiensymbol und keine anderen Zeilen würden berücksichtigt. Das ist, was sie tun. –

+0

Ja, Sie haben natürlich Recht. Db Design ist normalerweise nicht mein Fokus. Vielen Dank – RBear