LinQ Tabellenzugriff

10/09/2007 - 09:22 von Kay Dikof | Report spam
Hallo,

ich arbeite seit kurzem mit dem Linq und dem Framework 3.5. Nun habe ich
mehre Tabellen auf die ich zugreifen möchte. Bisher habe ich das so gelöst:

[Table(Name="tabellenName1")]
Class clasname
{
[Colum]
public spalte1
[Colum]
public spalte2
.
.
.
}

im Code hab ich dann per
Table<clasname> tabelle1 = DataContext.GetTable<clasname>();
die Tabelle abgerufen. Wie kann ich nun erreich, dass ich mit der Class
"clasname" auf eine weitere Tabelle zu greifen kann z.B. dem Namen
tabellenName2, welche die gleiche Struktur hat wie tabellenName1. Ich
möchte nicht für jede Tabelle die die gleiche Struktur hat eine neue
Class erstellen müssen.

mfg Kay Dikof
 

Lesen sie die antworten

#1 Frank Dzaebel
11/09/2007 - 07:55 | Warnen spam
Hallo Kay,

ich arbeite seit kurzem mit dem Linq und dem Framework 3.5. Nun habe ich
mehre Tabellen auf die ich zugreifen möchte. Bisher habe ich das so
gelöst:
[Table(Name="tabellenName1")]
Class clasname {...}
im Code hab ich dann per
Table<clasname> tabelle1 = DataContext.GetTable<clasname>();
die Tabelle abgerufen. Wie kann ich nun erreich, dass ich mit der Class
"clasname" auf eine weitere Tabelle zu greifen kann z.B. dem Namen
tabellenName2, welche die gleiche Struktur hat wie tabellenName1.



Du kannst das TableAttribute nur für das Mapping mit genau *einem* DataTable
oder einer DataView benutzen. Man spricht auch vom "single table mapping".
Eine Entity Klasse muss also an genau eine Datenbank Klasse gebunden werden.
Aber Du kannst ja in den darüberliegenden Abfragen beliebige Tabellen
ansprechen.


Ich möchte nicht für jede Tabelle, die die gleiche Struktur hat, eine neue
Class erstellen müssen.



Das kann man ja ggf. über SqlMetal erstellen lassen.
SqlMetal.exe /code:MyDB.cs /context:MyDB
/namespace:mydb MyDB.dbml
http://www.google.de/search?hl=de&a...g+SQLMetal


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen