Dapper: créer une table à partir du type d'objet

c# dapper

Question

Bonjour.

J'essaie de comprendre comment je peux créer une table vide à partir d'un type d'objet. Le type est assez simple (uniquement les propriétés de type primitif); il y a quelque chose de prêt à utiliser? Dois-je faire pour écrire ma propre requête "CREATE TABLE" en utilisant des propriétés de réflexion?

Je travaille sur un projet qui lit les données d'une base de données FirebirdSQL et écrit certaines de ces tables dans une base de données Sqlite, à l'aide de Dapper.

Toutes les suggestions sont appréciées.

Je vous remercie!

Réponse acceptée

Comme Marc l’a dit, Dapper ne le fera pas pour vous, mais regardez ma réponse ici ( bases de données ADO.NET distinctes ) et adaptez simplement l’une des propriétés de la commande pour construire une instruction CREATE TABLE et tirez parti de la réflexion. . Il devrait être assez simple avec beaucoup d'avance.

Je créerais un exemple, mais je réponds à cela depuis mon téléphone.


Réponse populaire

Plutôt tard pour la fête, mais je voulais juste ajouter que ce type de fonction est disponible dans 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



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi