.net - necesario - silverlight para mac
Base de datos local con Silverlight (9)
¿Cuál sería una buena base de datos local para una aplicación Silverlight? El propósito principal de la base de datos es para los servicios locales de caché y sincronización de datos. No creo que el SQL en cualquier lugar o SQLite funcionará, ya que utilizan código no administrado que no se ejecutará en el arenero silverlight
En base a este ejemplo , parece posible usar Google Gears y, por lo tanto, Sqlite. El inconveniente principal es la cantidad de trabajo de integración y la necesidad de instalar una plataforma más en la computadora del cliente.
Si sus necesidades de caché son lo suficientemente básicas y no tiene tantos datos que lo está haciendo para minimizar el uso de RAM, quizás ni siquiera necesite una base de datos completa. Podría crear una base de datos de objetos utilizando una estructura como un diccionario y poner en ella los objetos que de lo contrario serían las filas de su tabla. A continuación, puede serializar estos datos en un archivo en su almacenamiento local y deserializarlos la próxima vez que se ejecute la aplicación. Si sus estructuras de datos se hacen bien, incluso podría usar Linq para consultar su base de datos de objetos.
Si su objetivo principal es minimizar el número de veces que tiene que extraer los mismos datos de su servidor, esto podría ser algo a considerar.
Por otro lado, este no es el camino a seguir si tiene demasiados datos o si escribe con frecuencia en la base de datos (ya que tendría que serializar toda la estructura en el disco cada vez).
Si tiene demasiados datos pero aún desea probar esto, podría ver si hay una forma lógica de dividir sus datos en varios archivos que probablemente no sean necesarios al mismo tiempo. Luego, puede enviar los datos que no utilizó al disco y volver a cargarlos la próxima vez que el programa lo necesite. Por supuesto, si lleva este enfoque demasiado lejos, terminará básicamente escribiendo su propio sistema de base de datos de todos modos.
Me encantaría ver dos cosas. 1.) Algún tipo de soporte de base de datos local persistente o 2.) Algún tipo de soporte de servidor de base de datos real sin la molestia de los servicios web.
Personalmente, tomaría Access y OleDb. :)
Una última cosa ... que el tipo de funcionalidad de la base de datos es algo que Flash / Flex no ofrece ... esta sería una gran manera para que Microsoft diferencie a Silverlight y realmente le dé una ventaja.
Ahora hay un puerto sqlite para c # llamado csharp-sqlite. Esto tiene una promesa una vez que encuentran un nombre aceptable.
La respuesta es siaqodb. Siaqodb es una verdadera base de datos de objetos del lado del cliente de Silverlight, puede almacenar un objeto con solo una línea de código y recuperar objetos de respaldo a través de LINQ.Para obtener más información, consulte http://siaqodb.com
Sí, creo que un proveedor de LINQ es la solución óptima. Como el espacio de almacenamiento es limitado, realmente no necesita tablas e índices, sería conveniente tener una manera simple de almacenar y consultar objetos en el cliente a través de LINQ sin tener que lidiar con flujos de archivos de bajo nivel.
¿Por qué no utilizar una nueva característica en SL 2 llamada "Almacenamiento aislado"? Es totalmente compatible con la base de datos local (como Google Gear) pero, por supuesto, no es una base de datos. Puede usar el formato de archivo XML para guardarlo.
- pros; El usuario solo necesita instalar SL en tiempo de ejecución.
- contras; No es exactamente una base de datos
Encuentra dos referencias:
Moth dijo en su blog sobre él http://www.danielmoth.com/Blog/2008/04/isolatedstorage-in-siverlight-2-beta-1.html Dino hizo un muy buen resumen en http: //www.ddj. com / windows / 208300036? pgno = 2
@Aaron Fischer,
Estoy muy interesado en esta pregunta también. Estoy buscando aplicaciones DB para XBAP (WPF en el navegador). Aquí está mi pregunta "¿Qué base de datos integrada con soporte de almacenamiento aislado puede recomendar?"
SQLite y MSSQL CE (también conocido como SQL en cualquier lugar) no funcionarían.
VistaDB se implementa en .NET y puede funcionar bajo restricciones (tiene soporte para Almacenamiento aislado) pero estoy buscando alternativas.
Otra opción es Sybase iAnywhere, pero no estoy seguro de cómo implementarlo en la máquina del usuario final.
Voy a probar DB4objects para Silverlight. Si funcionara, actualizaré la publicación.