hallo liebe gemeinde,
zuerst einmal möchte ich euch nach langer abstinenz wieder recht herzlich begrüßen, denn ich freue mich endlich wieder hier mitreden zu dürfen ...ich war sonst zu den visual studio 2005 zeiten hier ...und dann gleich mit schweren geschütz aufschlagen wie VST2010 und MSSQL2008R2 😉
jetzt aber zu meinem problem:
ich habe eine kleine datenbank anwendung geschrieben, bei dieser datenbank
handelt es sich um eine sql server compact 3.5 sp2 anwendung - also eine *sdf datei. aus der anwendung heraus kann ich datenbanken erstellen und auch öffnen und werte in tabellen anzeigen und bearbeiten ..klappt "eigentlich"
aber bis jetzt habe ich alles immer zu fuß erledigt ...daher dachte ich mir es wäre doch mal an der zeit auch mal mit linq zu arbeiten und mir ein wenig arbeit abnehmen zu lassen - also so richtig professionell 😄
und wie sollte es denn auch anders sein: schon komm ich im moment nicht vorwärts:
mfg
jaipur
Hallo,
wenn du Linq verwenden möchtest, weiss ich grad nicht, ob du LinqToSql meinst?!
Wenn ja, musst du für deine .sdf eine dbml Datei erstellen.Das machst du mit sqlmetal.
In der generierten datei ist dann ein DataContext, welcher die Verbindung zu deiner DB regelt.
Zur datenbindung an form-elemente gibt es mehrere möglichkeiten.
MVP wäre ein stichwort. Normales databindung mit Linqentitäten sollte aber auch funktionieren, da diese standardmäßig InotifyPropertyChanged implementieren.
mfg
serial
Hallo jaipur,
das geht z.B. mit "LINQ to SQL Classes". Beim Anlegen eines neuen Items einfach das aufwählen. Von dort aus kannst du dann einfach die Tabellen hinzufügen. Dort kann man dann auch den ConnectionString anpassen.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
hallo,
hm - ich habe schon einiges gelesen. auch das ich aus der sdf zuerst eine dbml machen muss, aber das gilt nur für visual studio 2008?
denn wenn ich - ohne zu wissen was das überhaupt ist - ein dataset zu einer tabelle erstelle kann ich folgendes im quelltext ausführen:
var q = from k in dbStormDataSet1.tblTest where k.MpiLocal == 0 select k;
bei den ganen beispielen in diversen blogs muss ich immer wieder feststellen, das es sich immer wieder um den gleichen beitrag aber von vorschiedenen authoren hadelt ...ohne hier aber irgendjemanden etwas böses unterstellen zu wollen!
"LINQ to SQL Classes" - deine beschreibung hört sich simple an - was ist das und wie geht das 😃 ?
Hallo,
natürlich kannst du mit linq auf die erzeugten datasets zugreifen.
Darum ja meine frage, ob du LinqToSql verwenden möchtest, also die Tabellen mit dem O/R Mapper ansprechen willst, oder nicht! Denn in der dbml befinden sich dann diese "Sql-Classes", welche für jede Tabelle inkl Assoziationen erstellt werden.
Damit hättest du dann deine DB-Daten in Programm als Objekte zur Verfügung.
mfg
serial
@serial: du hängst mich gleich mit deinem ersten satz ab - ich komme nicht hinterher!
ich kann dir zur zeit nicht mal sagen ob ich LinqToSql benutzen möchte, also die tabellen mit dem O/R Mapper ansprechen möchte... weil ich die ganzen sachen noch nicht so recht einordnen kann!? woher soll ich denn jetzt auch noch wissen das ich natürlich auf die erzeugten datasets zugrefen kann wo ich denn nicht mal weiß was ein dataset ist.
in einem video tutorial habe ich ein beispiel gesehen, wo jemand von dem server explorer einfach die tabellen von der datenbank in so eine "Linq To Sql Classes" dbml datei gezogen hat.
...das ging bei mir schon mal mit der compact datenbank nicht. wenn ich von dort eine tabelle in die dbml ziehe, denn bekomme ich eine fehlermeldung: "unsupported data provider"
...was mir jetzt sagen würde das ich - wie du bereits erwähnt hattest - das ich aus der sdf mit hilfe von sqlmetal eine dbml erzeugen muss? also das linq im visual studio 2010 genau so wie bei visual studio 2008 keine compacten datenbanken unterstützt?
...sorry das ich euch im moment ein bisschen quäle - bin aber sicher das wir es bald geschafft haben 😉
Hallo,
so erstellst du eine dbml-Datei mit sql-metal
SqlMetal.exe MyDatabase.sdf /dbml:MyDatabase.dbml
und hier wird es sogar beschrieben:
Ob der designer in VS2010 Sql CE unterstützt weiss ich nicht, glaub ich aber nicht!
Wie du deine dbml datei erzeugst, hat xrc7581 schon gezeigt.
Mein erster satz sollte darauf hinauslaufen, dass du linq natürlich auf alle IEnumerables verwenden kannst! Linq hat ja prinzipiell nix mit datenbanken zu tun. Sondern ist eine sprache um objekte anzusprechen.
mfg
serial