Entwickler-Ecke

WPF / Silverlight - WPF-Entity-lokale Datenbank


Dominic_77 - Mi 24.11.10 22:43
Titel: WPF-Entity-lokale Datenbank
Hallo,

Ich habe eine DB-Anwendung mit WPF erstellt. Die Datenbank ist eine lokale DB. Und zum Anzeigen der Daten mit DataGrid oder ListView benutze ich die Entity DataModel und mit C# Kode-LINQ to SQL. In meinem PC(Windows 7) zeigt das GUI die Daten in DataGrid View und/oder ListView aber mit anderen PCs(Windows 7) und (wichtig!) unter XP funktioniert nicht, obwohl die letzte Version von .NET Framework installiert ist. Man kann die exe. Datei nicht öffnen von dem Ordner Debug (die .sdf DB-Datei ist auch in diesem Ordner).

Kann jemand vielleicht mir helfen?

Mit freundlichen Grüßen..


P.S: Müssen alle PCs unbedingt Visual Studio haben, diese Anwendung problemlos zu führen? Ich habe mit anderem PC versucht, es hat Visual Studio, klappte das. Deswegen frage ich..


Kha - Do 25.11.10 00:19

Kannst du "nicht öffnen" näher spezifizieren? Eine .NET-Exe verabschiedet sich selten ohne Exception.


Trashkid2000 - Do 25.11.10 07:46

.sdf - das ist eine SQL Server Compact - Datenbank, stimmts?
Und Du greifst per Entity Framework darauf zu. Nun, das Problem ist wahrscheinlich, dass auf dem Rechner, wo es nicht läuft, der Treiber für SQL Compact nicht installiert sind.

Auf deinem Rechner musstest Du ihn nicht installieren, denn das hat Visual Studio schon gemacht. JA, und das Entity Framework lädt die dlls dynamisch, also erst, wenn das Modell aufgebaut wird. Und wenn sie nicht gefunden werden, dann knallt es. Das sieht dann wirklich so aus, dass die Anwendung einfach abschmiert, oder jegliche Meldung :!: Habe das selber durch. Und im Log steht ein FileNotFound, aber nichtmal, was für eine Datei! Und per Exception-Handling kann man da auch nichts retten.

Also, stelle sicher, dass der Treiber installiert ist, oder die dlls mit der Anwendung mitgeliefert werden. Lies Dir dazu mal die Seite in der MSDN durch:
Gewusst wie: Bereitstellen einer SQL Server Compact 3.5-Datenbank mit einer Anwendung
http://msdn.microsoft.com/de-de/library/aa983326(v=VS.90).aspx
LG, Marko