Dapper: crea una tabla a partir del tipo de objeto

c# dapper

Pregunta

Buenos días.

Estoy intentando descubrir cómo puedo crear una tabla vacía a partir de un tipo de objeto. El tipo es bastante simple (solo propiedades de tipo primitivo); hay algo listo para usar? ¿Debo hacer para escribir mi propia consulta "CREATE TABLE" usando algunas propiedades de reflexión?

Estoy trabajando en un proyecto que lee datos de una base de datos FirebirdSQL y escribe algunas de esas tablas en una base de datos Sqlite, utilizando Dapper.

Cualquier sugerencia es apreciada

¡Gracias!

Respuesta aceptada

Como Marc dijo, Dapper no va a hacer eso por ti, pero echa un vistazo a mi respuesta aquí ( bases de datos distintas de ADO.NET ) y simplemente adapta una de las propiedades del comando para construir una instrucción CREATE TABLE y aprovechará la reflexión . Debería ser bastante directo con una gran ventaja.

Crearía un ejemplo, pero estoy respondiendo esto desde mi teléfono.


Respuesta popular

Bastante tarde para la fiesta, pero solo quería agregar que este tipo de función está disponible en ServiceStack.OrmLite :

class Poco 
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Ssn { get; set; }
}

db.DropTable<Poco>();
db.TableExists<Poco>(); //= false

db.CreateTable<Poco>(); 
db.TableExists<Poco>(); //= true

db.ColumnExists<Poco>(x => x.Ssn); //= true
db.DropColumn<Poco>(x => x.Ssn);
db.ColumnExists<Poco>(x => x.Ssn); //= false

Tenga en cuenta, sin embargo, que esta biblioteca no es gratuita.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué