OleDBDatabaseMigrator

OleDBDatabaseMigrator es una clase que genera una base de datos de objetos Db4o a partir de una base de datos relacional.

Esta clase pertenece la espacio de nombres UsefulDB4O.OleDBMigration.

 

¿Cómo lo hace?

En resumen, sólo 2 pasos:

  1. Primero generamos el modelo (clases, atributos, etc.) con las plantillas T4 incluidas en el proyecto (dentro de la carpeta T4_OledbToOO_Templates)
  2. Posteriormente la clase OleDBDatabaseMigrator analizará el modelo generado (con ayuda de los atributos) y creará la base de datos de objetos Db4o.

 

Paso 1. Generando el modelo

Primero, si no sabes nada sobre las plantillas T4 el mejor sitio para empezar es este post realizado por Oleg Sych (Oleg es el  “oráculo” en este mundo!).

Asegúrate de instalar el complemento gratuito para Visual Studio T4Toolbox antes de usar las plantillas.

Nuestras plantillas T4 leen los metadatos de la base de datos relacional e intentan “pasarlo” a un modelo de objetos, como hacen muchos ORM.

Usamos los metadatos Oledb  para “clonar” las entidades y características de la base de datos relacional.

En este momento soportamos la migración de los siguientes elementos:

  1. Tablas
  2. Columnas
  3. Claves únicas
  4. Índices
  5. Restricciones de columnas (usando Data Annotations)
  6. Relaciones (1-1, 1-Muchos)

 

Ver este video para ver el proceso funcionando (cambiar a pantalla completa):

 

En próximos capítulos veremos como personalizar mediante la configuración la generación del modelo.

 

Paso 2. Generando la base de datos Db4o

Después de generar el ensamblado con nuestro modelo (clases, atributos, etc.) sólo necesitamos configurar la instancia de OleDBDatabaseMigrator para generar el archivo Db4o.

Ver este video para ver el proceso funcionando (cambiar a pantalla completa):

 

La clase OleDBDatabaseMigrator permite un alto nivel de configuración y personalización. Lo veremos en siguientes episodios.

 

Bases de datos relacionales soportadas

Hemos realizado los test con: Sql Server 2000, Sql Server 2005, Sql Server 2008.

Todos los ejemplos usan el modelo AdventureWorks de Microsoft.

 

In teoría se puede usar con ”cualquier” base de datos. Todo lo que necesitas es tener el proveedor Oledb correspondiente y establecerlo en las cadenas de conexión.

Ejemplos de www.connectionstrings.com:

  1. SQL Server Native Client 10.0 OLE DB Provider
    1. Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase; Trusted_Connection=yes;
  2. Oracle Provider for OLE DB
    1. Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;
  3. MySql .NET Framework Data Provider for OLE DB
    1. Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;

 

Last edited Sep 5, 2010 at 4:47 PM by pacoweb, version 1

Comments

No comments yet.