Hallo zusammen!
Erst einmal ganz großen Dank and "ErfinderDesRades" für sein zwar altes aber tolles Tutorial DataSetOnly. Ich habe damit schon ein paar Projekte umsetzen können und war in der Lage relationale Datenanwenungen zu schreiben, die auch ohne größere Probleme sauber funktioniert haben.
Nun möchte ich allerdings eine neue Anwendung schreiben und die Daten diesmal aber in einer SQLite Datenbank ablegen. Die Sache mit den DataTableAdaptern etc. habe ich bereits verstanden und kann auch Daten abrufen, in einem DataGrid darstellen und bearbeiten.
Ich habe aber ein Verständnisproblem mit den folgenden 2 Punkten und würde mich freuen, wenn mir da jemand auf die Sprünge helfen könnte:
1. Muss ich tatsächlich für übergeordnete Tabellen die komplette SQLite Tabelle ins DataSet laden?
Sprich zb. "SELECT * FROM Client"? Verfehlt das nicht den Zweck von einer DB-Engine? Also das ich nur relevante Datensätze in den Arbeitsspeicher lade?
Ich habe zb. eine "Entry" Entität und diese kann einen "Client" als Parent haben (1:n). Aber nun könnte ich ja 100.000 "Clients" haben und nur 100 "Entries". Dann sind die 100.000 Clients im Arbeitsspeicher bisschen drüber, wenn ich ja maximal 100 als Parent zugeordnet haben könnte. Nicht, dass ich das um jeden Preis vermeiden will. Wenn das kein Problem ist, lass ichs gerne so. Frage mich nur, ob das im Sinne des Erfinders ist. Dann kann ich ja gleich mit DataSetOnly weiter machen und einfach als XML laden und speichern!?
2. Ein globales DataSet für die Anwendung oder ein DataSet pro "View"?
Ich habe bei meinen DataSetOnly Anwendungen immer mit einem DataSet für die komplette Anwendung gearbeitet (sprich in einem applikationsweiten Singleton). Hat super funktioniert. Macht es aber jetzt Sinn, wenn man mit einzelnen Queries zu einer Datenbank arbeitet, mit einem DataSets pro "View" zu arbeiten? Also wenn ich zb. eine Entität bearbeiten will zb. nur den Primary Key von einem DataGrid an ein Fenster zu übergeben und dann in diesem Fenster einen Query nur für diese ID durchzuführen(also auch alle Abhängigkeiten etc.) mit eigenem DataSet?
Ich danke euch für eure Anregungen und Gedanken!
Erst einmal ganz großen Dank and "ErfinderDesRades" für sein zwar altes aber tolles Tutorial DataSetOnly. Ich habe damit schon ein paar Projekte umsetzen können und war in der Lage relationale Datenanwenungen zu schreiben, die auch ohne größere Probleme sauber funktioniert haben.
Nun möchte ich allerdings eine neue Anwendung schreiben und die Daten diesmal aber in einer SQLite Datenbank ablegen. Die Sache mit den DataTableAdaptern etc. habe ich bereits verstanden und kann auch Daten abrufen, in einem DataGrid darstellen und bearbeiten.
Ich habe aber ein Verständnisproblem mit den folgenden 2 Punkten und würde mich freuen, wenn mir da jemand auf die Sprünge helfen könnte:
1. Muss ich tatsächlich für übergeordnete Tabellen die komplette SQLite Tabelle ins DataSet laden?
Sprich zb. "SELECT * FROM Client"? Verfehlt das nicht den Zweck von einer DB-Engine? Also das ich nur relevante Datensätze in den Arbeitsspeicher lade?
Ich habe zb. eine "Entry" Entität und diese kann einen "Client" als Parent haben (1:n). Aber nun könnte ich ja 100.000 "Clients" haben und nur 100 "Entries". Dann sind die 100.000 Clients im Arbeitsspeicher bisschen drüber, wenn ich ja maximal 100 als Parent zugeordnet haben könnte. Nicht, dass ich das um jeden Preis vermeiden will. Wenn das kein Problem ist, lass ichs gerne so. Frage mich nur, ob das im Sinne des Erfinders ist. Dann kann ich ja gleich mit DataSetOnly weiter machen und einfach als XML laden und speichern!?
2. Ein globales DataSet für die Anwendung oder ein DataSet pro "View"?
Ich habe bei meinen DataSetOnly Anwendungen immer mit einem DataSet für die komplette Anwendung gearbeitet (sprich in einem applikationsweiten Singleton). Hat super funktioniert. Macht es aber jetzt Sinn, wenn man mit einzelnen Queries zu einer Datenbank arbeitet, mit einem DataSets pro "View" zu arbeiten? Also wenn ich zb. eine Entität bearbeiten will zb. nur den Primary Key von einem DataGrid an ein Fenster zu übergeben und dann in diesem Fenster einen Query nur für diese ID durchzuführen(also auch alle Abhängigkeiten etc.) mit eigenem DataSet?
Ich danke euch für eure Anregungen und Gedanken!