verwendetes Datenbanksystem: MSSQL 2005 Compact
Hallo Community,
ich habe mal wieder eine Frage:
Ich arbeiter derzeit an einem kleinen Tool zur Zeiterfassung. Ich bin ganz stolz, das ich es (fast) Datenbank unabhängig geschaft habe mit Linq-to-SQL.
Allerdings wirft das auch meine Frage auf, was passiert wenn ich Änderungen an der Datenbank vornehme. Sprich neue Tabelle, neue Spalte usw...
Wenn ich das Tool jetzt so raus gebe und dann irgend welche Änderungen am Schema machen muss? Gibt es da irgend welche "Best Practice"?
Vielen Danke!
Grüße
HyperteX
"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra
Ja, dann kannst Du es komplett neu machen ( zumindest neu übersetzen ).
Auch ist LinQ2Sql nicht DB unabhängig, da es nur mit Access, MS-Sql und Ms Sql Compact funktioniert.
Der Vorteil von ORMappern ist die Typsicherheit, der Nachteil eben das sie
nicht flexibel auf änderungen Reagieren können.
Das es nicht komplett unabhängig ist, ist auch mir durchaus klar, aber es unterstützt die wichtigsten. Darunter auch MySQL, PostgreSql und Oracle.
Wir werden den SQL Server standartmäßig geändert? Per Query Script?
"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra
verwendetes Datenbanksystem: MSSQL 2005 Compact
Hallo Community,
ich habe mal wieder eine Frage:
Ich arbeiter derzeit an einem kleinen Tool zur Zeiterfassung. Ich bin ganz stolz, das ich es (fast) Datenbank unabhängig geschaft habe mit Linq-to-SQL.
Allerdings wirft das auch meine Frage auf, was passiert wenn ich Änderungen an der Datenbank vornehme. Sprich neue Tabelle, neue Spalte usw...
Wenn ich das Tool jetzt so raus gebe und dann irgend welche Änderungen am Schema machen muss? Gibt es da irgend welche "Best Practice"?Vielen Danke!
Grüße
HyperteX
Nach dem Deployment sollte sich der Aufbau der Datenbankanwendung eigentlich gar nicht mehr ändern. Wenn du das DB Schema nachträglich änderst, wirst du in fast allen Fällen eine Menge Ärger mit nicht mehr funktionierenden Abfragen und ähnlichem bekommen.
Im Übrigen ist LINQ-to-SQL ganz und gar nicht Db-unabhängig, im Gegenteil:
Außer die SQL Server 2005/2008 und in Teilen auch die Compact Edition von MS werden keinerlei DBMS unterstützt.
@HyperteX:
Da unterliegst Du aber einer Fehlinformation LinqToSql unterstützt nur
die MS DB's.
Es gibt Linq Provider für andere DB's, das ist aber nciht LinqToSql.
Und wie DB's geändert werden, liegt an der Zugriffsvariante.
Es gibt ORMapper die das Unterstützen, ansonsten ist SQL angesagt.
Hallo HyperteX,
Wir werden den SQL Server standartmäßig geändert? Per Query Script?
Ja, genauso.
Wenn Du einige Felder einbaust kannst Du die bei den Kunden per SQL-Script einbauen. Wenn die Datenbank größer wird solltest Du die Aktualisierung möglichst automatisieren.
Bei mir ist es so dass die komplette Datenbankstruktur in der Applikation vorhanden ist und bei jedem Programmstart geprüft wird. Wenn Felder nicht vorhanden oder zu kurz sind dann werden sie angelegt bzw. verlängert.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Vielen Dank erst einmal an alle!
Ich werde wahrscheinlich beim Start auf Datenbankveränderungen schauen.
Gruß
HyperteX
"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra