db4o analyzer at june newsletter
El bueno de Germán Viscuso me acaba de avisar que mencionaron adb4o analyzer en el db4o newsletter de junio en la parte de projects, que buena noticia.
El bueno de Germán Viscuso me acaba de avisar que mencionaron adb4o analyzer en el db4o newsletter de junio en la parte de projects, que buena noticia.
Estuve mirando en Db4o Analyzer y Object Manager la forma en que muestran las collecciones:
En Object Manager:
y en db4o Analyzer:
El problema está en que si un campo es una collección, muestra el tipo de dato de la collección. No muy útil por parte ambos.
Object Manager tampoco muestra el valor del Guid en el campo Id, esto creo que puede corregirse sin mucho código.
Voy a tratar de corregir esto de las collecciones en Db4o Analyzer, algo más a la lista del TODO.
En estos dÃas estuve un poco ocupado para continuar agregandole features db4oanalyzer, pero si estuve haciendo un poco de refactoring. Aún quedán muchas cosas por hacer.
Estuve escribiendo algunas lineas para un parser para assemblies, de modo de poder crear funciones especializadas para trabajar con nuestras clases dentro de db4oanalyzer, quizás algún dÃa se pueda realizar algún Query Maker a partir de una interfaz gráfica amigable y que genere el código para nosotros. Para el parseo del assembly estoy usando Mono.Cecil, un aplauso para JB Evain por esta librerÃa !!! Inspeccionar assemblies con esta librerÃa es facil, aparte de poder generar assemblies del formato ECMA CIL. Héchenle un vistazo aquÃ:
http://www.mono-project.com/Cecil
o aquà van a encontrar post sobre Cecil:
http://evain.net/blog/articles/category/cecil
Entre las otras cosas que pude hacer es mejorar el look-and-feel del árbol de objetos:

Para poder usar referencias de nuestras clases, entidades quizás, en Db4oAnalyzer, por ahora solo lo podemos hacer utilizando el archivo de configuración de la aplicación Db4oAnalyzer.exe.config.
<?xml version=”1.0″ encoding=”utf-8″ ?> <configuration> <configSections> <section name=”db4oanalyzer” type=”Db4oAnalyzer.Core.Cfg.Db4oAnalyzerSection, Db4oAnalyzer” /> </configSections> <db4oanalyzer> <references> <add name=”System” framework=”true” /> <add name=”System.Data” framework=”true” /> <add name=”Db4objects.Db4o.dll” /> <add name=”E:\Assemblies\Entities.dll” /> </references> </db4oanalyzer> </configuration>
El path del assembly con nuestras entidades de negocio (”Entitties.dll”) lo hemos puesto al final de los otros assemblies. Las entidades que corresponden al framework son marcadas: framework=”true”, el default es false.
Por ahora, estas referencias deben ser configuradas antes de iniciar la aplicación.
Comenzé este pequeño proyecto Db4o Analyzer para facilitar el modo de probar nuestras consultas con db4o, escribiendolas desde una “snippet” IDE.
Por ahora, está soportando a C# como único lenguaje, pero la idea es extenderlo hacia otros. Tiene resaltado de Sintaxis e autocompletado de código, y esto gracias a las librerias opensource que se encuentran como parte del Core de SharpDevelop. De hecho esta herramienta fue escrita en dicha IDE.
La idea básica es ir agregando comando para poder visualizar mejor los objetos retornados, por ahora, podemos hacer esto:
draw<Persona>(db.Query<Persona>());
y con esto se realizará el query hasta la base, y podremos obtener en un arbol la consulta:
Con este mismo enfoque podemos hacer nuestras queries, inclusive pobrar nuestras Native Queries.
ToDo (Cosas por hacer):