2012-06-05 10 views
17

Estoy buscando algún tipo de ORM que se pueda usar con las aplicaciones Metro Style. Encontré muchas publicaciones referentes a diferentes implementaciones de SQLite que parecen funcionar (o no, según otras publicaciones) con aplicaciones de estilo Metro, pero hasta el momento no hay proyectos de muestra que muestren un ORM en Windows 8 Metro. Otras publicaciones se refieren a proyectos que podrían funcionar, pero que no pasan la certificación de Marketplace debido a llamadas API prohibidas.¿Puedo utilizar Entity Framework o Linq to SQL con las aplicaciones de estilo Metro de Windows 8?

Mucha de la información que encontré es probablemente obsoleta, así que no estoy seguro de si busqué este derecho.

¿Alguno de ustedes ha logrado poner en marcha algún tipo de ORM en una aplicación de estilo Metro de Windows? Si es posible, me gustaría utilizar EF Code First, pero estoy cada vez más desesperado, así que no soy demasiado quisquilloso.

Gracias por sus sugerencias,

Adrian

+0

Hay una solución de terceros - Devart LinqConnect. Lea su blog http://blogs.devart.com/dotconnect/linqconnect-for-metro-quick-start-guide.html –

Respuesta

10

actualmente estoy usando SQLite en un Windows 8 Metro App de C# utilizando el código de una rama experimental como se explica por Tim Heuer en this post (también hay una video), y está funcionando muy bien, y que va a pasar a la tienda certificación (Tim Heuer también lo menciona en el post).

No es Entity Framework, pero es lo mejor que tenemos disponible hasta el momento para trabajar con bases de datos locales.

Otras alternativas:

  • IndexedDB (Es una característica de HTML5, por lo que es sólo para aplicaciones HTML5)
  • SQLite - yo sepa que funciona, pero no pasa la certificación tienda todavía
  • WinRT File Based Database - Interesante, aunque no tan eficiente como SQLite
  • Siaqodb - Interesante. No lo probé todavía
  • Sterling NoSQL OODB - Aún no es compatible con WinRT, pero no debería ser difícil de portar ... Espero un lanzamiento pronto. Sin embargo, es NoSQL.
+0

En realidad es una solución bastante buena. No EF, pero mucho mejor de lo que hubiera esperado. ¡Gracias! –

4

Por lo que yo sé que no es posible porque .NET para Metro doesn't even have System.Data namespace y todas las clases requeridas para el acceso a bases de datos.

+1

No tiene que ser tecnología MS. Estaría perfectamente satisfecho con cualquier solución de terceros. –

+0

La única solución que conozco ya se menciona en su pregunta: SQLite para WinRT pero no tiene soporte ORM, es solo una base de datos. También debería haber algo llamado MS Jet Blue, pero me temo que será algo así como el motor de MS Access. –

+0

¡No tiene soporte ORM! Parece que hay muchas respuestas con implementaciones de sqllite, pero no hubo soporte de ORM como el OP, que también esperaba encontrar. – ezaspi

4

Como dice Ladislav, actualmente no es posible. Sin embargo, puede utilizar WCF Data Services (OData) en la plataforma WinRT. Para obtener más información, consulte la publicación de Phani en Developing Windows 8 Metro style applications that consume OData.

+0

Gracias por su respuesta. Lamentablemente, esta no es una solución en mi caso, ya que mi aplicación necesita almacenar datos en grandes cantidades fuera de línea. –

Cuestiones relacionadas