Inside a desktop .Internet application, the conventional selection for applying a local relational database is by using SQL Server Compact Edition, after which obviously there's the chance to make use of SQLite along with other third-party engines.
Do you know the possibilities to some .Internet Metro-style application? SQL CE appears to become not available - any alternative? Actually, the whole
System.Data namespace appears to become gone - so no LINQ to SQL or Entity Framework, either?
How about HTML5 IndexedDB that appears to be shown to Metro HTML/JS applications - can that be utilized from .Internet in some way?
Apparently, the Extensible Storage Engine Win32 API (also known as "JET Blue") continues to be obtainable in Metro applications. C++ ones may use it directly via
#include <esent.h>. .Internet applications would need to use P/Invoke. This doesn't give SQL or other kind of high-level relational querying constructs, however it provides for key research, transactions, multiple indices per table, and multi-area indices.
Let us be obvious: SQL CE is available in Home windows 8. It is available with Program Files however in WindowsSystem32 to appear even more embedded than before. Windows7 does not have sqlcecompact40.dll in system32 making this certainly new. System.Data and System.Data.Linq both reside in C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.5.
You can include references to individuals dlls by hand but obtaining the application to compile is a guessing game. It appears when you initially open assembling your shed and do nothing at all, you can include a mention of the individuals dlls anywhere and compile the application. Should you take away the dlls and then try to add it well you are hit having a "A mention of the '<4.5 framework directory>' couldn't be added in. If by some chance you cannot add them via Visual Studio it is simple to just add the HintPath by hand.
My application now compiles however i also went into an problem where connecting the AppX wasn't working properly also it gave a cryptic "Payload cannot contain 2 of the identical dll" type messages. Enjoy it was attempting to include both 32 bit (the main one I linked) and 64bit in the last second. It incorporated DLLs I wasn't touching by hand like System.Data.OracleClient or System.Transactions therefore it was certainly some artifact in the build process I have yet to determine again.
The primary problem I am coping with at this time is how you can produce a proper connection string because it will not initialize correctly with out them. SQL CE is probably still searching for hardcoded C: references therefore the ApplicationData samples might not act as preferred. I might attempt to make SQL CE 4 databases in Win7, transfer to Win8 and just reference them in your area but I am type of dealing with that problem there too. This close!
Don't hesitate to comment regarding any items you encounter and I am certainly lower for many offline collaboration if anybody want to pool assets. This really is certainly a thick forest of monsters on and on it alone is showing much more challenging.