Tyfius
Legacy Member
Ik ga voor de eerste maal in mijn leven een SQL database gebruiken in een C# project en ik heb een aantal vraagjes.
Ik zit met een desktop applicatie, dus mijn oog is momenteel gevallen op de SQLite implementatie van System.Data.SQLite omdat ik meerdere lokale database files wil. Zij bieden ook een LINQ provider aan, allemaal heel interessant maar hier is het waar de documentatie en de goede voorbeelden mij een beetje in de steek laten.
Om een database file aan te maken zijn er twee manier: Ik genereer een via de grafische designer, die op dezelfde manier werkt als een gewone SQL server database. Het probleem hier zit dat ik mijn database file straks in de AppData folder van de gebruiker wil en niet naast mijn executable en die moet natuurlijk bruikbaar zijn voor alle developers die via SVN de source uitchecken. Daar heb ik nog niets op gevonden. Ten tweede weet ik niet exact hoe ik mijn database kan updaten naar een volgende versie bij een update van mijn applicatie. Ik kan die bestaande .db file natuurlijk niet zomaar overschrijven maar alle data moet correct gemigreerd worden en er zou een controle moeten zijn dat een gebruiker bij het starten van de applicatie er op gewezen wordt dat zijn database te nieuw is voor de software.
De tweede manier is om alles manueel te doen. Ik kan exact bepalen waar ik mijn database file wil hebben, ik kan met een soort incrementele counter werken om mijn database formaat te controleren en desnoods te updaten bij het starten van de applicatie. Maar dat wil zeggen dat ik zelf voor alles query's moet gaan schrijven. Voor mij geen probleem, ik ben redelijk vloeiend in SQL, maar niet iedereen is dat. Een tweede probleem is dat je dan nogal snel veel moet aanpassen: de query die de database aanmaakt, het datamodel dat intern wordt gebruikt, alle query's die data manipulatie doen om een tabel in de database,... Als ik dat zou kunnen doen via een paar muis klikken is dat een pak interessanter.
Heeft iemand hier een idee van, ervaring mee, voorbeelden, aanraders voor andere database formaten of een deftige work-flow?
Ik zit met een desktop applicatie, dus mijn oog is momenteel gevallen op de SQLite implementatie van System.Data.SQLite omdat ik meerdere lokale database files wil. Zij bieden ook een LINQ provider aan, allemaal heel interessant maar hier is het waar de documentatie en de goede voorbeelden mij een beetje in de steek laten.
Om een database file aan te maken zijn er twee manier: Ik genereer een via de grafische designer, die op dezelfde manier werkt als een gewone SQL server database. Het probleem hier zit dat ik mijn database file straks in de AppData folder van de gebruiker wil en niet naast mijn executable en die moet natuurlijk bruikbaar zijn voor alle developers die via SVN de source uitchecken. Daar heb ik nog niets op gevonden. Ten tweede weet ik niet exact hoe ik mijn database kan updaten naar een volgende versie bij een update van mijn applicatie. Ik kan die bestaande .db file natuurlijk niet zomaar overschrijven maar alle data moet correct gemigreerd worden en er zou een controle moeten zijn dat een gebruiker bij het starten van de applicatie er op gewezen wordt dat zijn database te nieuw is voor de software.
De tweede manier is om alles manueel te doen. Ik kan exact bepalen waar ik mijn database file wil hebben, ik kan met een soort incrementele counter werken om mijn database formaat te controleren en desnoods te updaten bij het starten van de applicatie. Maar dat wil zeggen dat ik zelf voor alles query's moet gaan schrijven. Voor mij geen probleem, ik ben redelijk vloeiend in SQL, maar niet iedereen is dat. Een tweede probleem is dat je dan nogal snel veel moet aanpassen: de query die de database aanmaakt, het datamodel dat intern wordt gebruikt, alle query's die data manipulatie doen om een tabel in de database,... Als ik dat zou kunnen doen via een paar muis klikken is dat een pak interessanter.
Heeft iemand hier een idee van, ervaring mee, voorbeelden, aanraders voor andere database formaten of een deftige work-flow?

