Laden...

LINQ: Tabellen der .dbml bei Programmstart ändern

Erstellt von michlG vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.858 Views
michlG Themenstarter:in
3.430 Beiträge seit 2007
vor 15 Jahren
LINQ: Tabellen der .dbml bei Programmstart ändern

verwendetes Datenbanksystem: <SQL SERVER 2005 EXPRESS>

Hallo zusammen,

ich habe ein kleines Problem mit Linq.

Und zwar mache ich gerade ein Control das Daten aus der Datenbank holt und diese in einem Grid anzeigt.
Dabei kann die DB-Tabelle aber eine unterschiedliche Anzahl von Spalten haben.
Somit wird es mit Linq sehr schwierig.
Da ich in der .dbml-Datei ja die Tabellen erstellen muss, aber ich will nicht bei jedes mal die .dbml-Datei umändern.

Somit habe ich bei dem Control ein Property hinzugefügt, das mir die Anzahl der Spalten angibt.

Ich weiss im Control also wie viele Spalten es sind. Und den namen und Typ der Spalten weiss ich auch.

Gibt es also eine Möglichkeit damit bei Start des Programmes die .DBML-Datei zu bearbeiten (d.h Spalten hinzuzufügen) ??

Ich könnte das jetzt auch so machen, dass ich selbst die SQL-QUERY code, aber wenn wir schon linq haben, dann soll man es auch nutzen

Gruss
Michael

W
201 Beiträge seit 2007
vor 15 Jahren

Hallo Audi-Fahrer!

Hab mich zwar nur mal kurz mit Linq beschäftig, aber schein als hättest du ein ähnliches Problem wie ich hier und müsstest die Typen zu Laufzeit erweitern...?
Obwohl ich einfach mal erwarten würde, dass Linq das kann...?

Wünsch dir auf jeden Fall viel glück und bin gespannt ob deine Lösung auch mir helfen könnte...

lg

PS: S3<M3 😉

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

michlG Themenstarter:in
3.430 Beiträge seit 2007
vor 15 Jahren

Hallo BMW-Fahrer,

vielen Dank für deine Antwort,
das bringt mich aber nicht wirklich weiter.
Denn mir geht es gar nicht um die Erweiterung des Typen. Ich möchte einfach die Tabelle die ich im DBML-File definiert habe um ein paar Spalten erweitern.
D.h. die Spalten einfach der Tabelle hinzufügen.

Die Daten werden dann über Linq ausgelesen und direkt in eine DataTabe geknallt.

Gruss
Michael

PS: S3<M3

Jaja das stimmt.
Aber S3.Power > M3.Power =)

W
201 Beiträge seit 2007
vor 15 Jahren

Wenn ich nicht irre baut Linq den Query aus der Klasse auf - Vielleicht hilft dir ja das hier weiter...

lg

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

F
10.010 Beiträge seit 2004
vor 15 Jahren

Ihr beiden solltet mal die Begrifflichkeiten auseinander halten.

LinQ ist nicht gleich LinQToSql.

LinQ kann jegliche arten von Daten bearbeiten.

LinQToSql ist ein einfacher ORMapper, der eine Typsichere Abfrage
einer DB ermöglicht.

Wenn Du beliebige und /oder erweiterbare sachen machen willst
ist dies die Falsche herangehensweise.

Webbi, auch wenn du mit deinem Ferrari mit Anhängerkuppling und Seitentaschen
zufrieden bist, heisst es nicht, das es der richtige weg ist.

W
201 Beiträge seit 2007
vor 15 Jahren

Hallo FZelle!

Das mit dem Ferrari werd ich wohl nicht mehr los... X(

Ich denke, meine Lösung zumindest in meinem Fall der wichtige Weg war - gerade performancetechnisch - denn wie schon im anderen Thread erwähnt funktioniert das ganze perfekt und es tut mir leid, aber ich sehe immer noch kein wirkliches Problem daran.
Ich möchte das Thema eigentlich nicht weiter diskutieren, da wir eh nicht auf einen Nenner kommen

lg

Programmieren ist der Wettkampf zwischen Programmierer die immer noch einfachere Programme schreiben
und Anwender die immer noch dümmer werden...

michlG Themenstarter:in
3.430 Beiträge seit 2007
vor 15 Jahren

Hallo,

Vielen Dank für eure Hilfe.

Ich habe schon befürchtet, dass es mit LINQ nich so einfach geht wie ich es mir vorgestellt habe.
Deshalb werde ich bei dieser Problemstellung wohl wieder auf good-old-sql zurück greifen. Und mir die Query selbst zusammenbauen.

Gruss
Michael