Fick en fråga för ett par dagar sedan om det fanns något trevligt sätt att köra en .NET applikation från en USB-sticka utan att den behövs installeras, och samtidigt kunna jobba mot någon sorts datakälla utan att kräva en databas på datorn.
Ett alternativ är att använda sig av SQL Server Compact 3.5 som databas. SQL Server Compact är en kompakt (jepp du anade det) version av SQL Server som inte kräver en serverinstans eller exekverande databas för att kunna hämta och lagra data. En direktlänk för att ladda hem SQL Server Compact har du här!
Det går till och med att använda Entity Framework eller LINQ to SQL mot SQL Server Compact men det finns en del saker att tänka på, jag vill varmt rekommendera att ladda hem SQL Server Compact Books Online som innehåller både dokumentation och exempel som hjälper dig igång.
Observera dock att “klienten” där applikationen är avsedd att köras på (från USB-sticka) behöver ha dll-filerna för SQL Server Compact installerade, vilket också är ett moment som kräver administrativa rättigheter på datorn. Jag har inte provat att packa med DLL’erna lokalt på USB’n och referera dem där, men det kanske kan fungera.
Ett annat alternativ (till SQL Server Compact) är naturligtvis att använda en XML-fil som datakälla och sedan DataSet i applikationen, det finns tack och lov LINQ to DataSet
Har du andra förslag som du vill dela med dig av? Hör av dig!