17

I'm looking for some kind of ORM that can be used with Metro Style apps. I found lots of posts referring to different SQLite implementations that seem to be working (or not, according to other posts) with Metro style apps, but no working sample projects so far showing an ORM on Windows 8 Metro. Other posts are referring to projects that might work, but not pass the Marketplace certification because of forbidden API calls.

Lots of the information I found is probably outdated, so I'm not sure if i even googled this right.

Has any of you managed to get some kind of ORM up and running in a Windows Metro style app? If possible, I'd like to use EF Code First, but I'm growing desperate, so I'm not too picky.

Thanks for your suggestions,

Adrian

Adrian Grigore
  • 33,034
  • 36
  • 130
  • 210
  • There is third-party solution - Devart LinqConnect. Read their blog http://blogs.devart.com/dotconnect/linqconnect-for-metro-quick-start-guide.html – Vitalij B. Jul 19 '12 at 05:41

3 Answers3

10

I'm currently using SQLite on a C# Windows 8 Metro App using the code from an experimental branch as explained by Tim Heuer in this post (there's also a video), and it is working great, and it will pass the store certification (Tim Heuer also mentions it in the post).

It is not Entity Framework, but it is the best we have available so far for working with local databases.

Other alternatives:

  • IndexedDB (It's an HTML5 feature, so it is only for HTML5 apps)
  • SQLite - AFAIK it works, but doesn't pass the store certification yet
  • WinRT File Based Database - Interesting, though not as performant as SQLite
  • Siaqodb - Interesting. Didn't test it yet
  • Sterling NoSQL OODB - Doesn't support WinRT just yet, but should not be difficult to port... I expect a release soon. It is NoSQL, though.
Robert Harvey
  • 178,213
  • 47
  • 333
  • 501
C. Augusto Proiete
  • 24,684
  • 2
  • 63
  • 91
4

As far as I know it is not possible because .NET for Metro doesn't even have System.Data namespace and all required classes for accessing databases.

kristianp
  • 5,496
  • 37
  • 56
Ladislav Mrnka
  • 360,892
  • 59
  • 660
  • 670
  • 1
    It doesn't have to be MS technology. I'd be perfectly happy with any 3rd party solution. – Adrian Grigore Jun 06 '12 at 14:48
  • The only solution I'm aware of is already mentioned in your question - SQLite for WinRT but it doesn't have ORM support it is just a database. There should also be something called MS Jet Blue - but I'm afraid it will be something like engine from MS Access. – Ladislav Mrnka Jun 06 '12 at 14:51
  • It doesn't have ORM support! There seems to be a lot of responses with sqllite implementations but no ORM support like the OP asked for, which I too was hoping to find. – ezaspi Jun 29 '15 at 13:25
4

As Ladislav says, it is currently not possible. You can, however, use WCF Data Services (OData) on the WinRT platform. For more information, see Phani's post on Developing Windows 8 Metro style applications that consume OData.

bricelam
  • 28,825
  • 9
  • 92
  • 117
  • Thanks for your reply. Unfortunately this is not a solution in my case since my app needs to buffer big amounts data offline. – Adrian Grigore Jun 06 '12 at 14:47