Dapper:从对象类型创建表

时间:2013-04-02 10:16:23

标签: c# dapper

早上好。

我正在试图弄清楚如何从对象类型创建一个空表。 类型很简单(只有原始类型属性);有什么东西可以使用吗? 我是否需要使用一些属性反射来编写自己的“CREATE TABLE”查询?

我正在开发一个项目,该项目从FirebirdSQL数据库中读取数据,并使用Dapper将一些表写入Sqlite数据库。

任何建议都表示赞赏。

谢谢!

2 个答案:

答案 0 :(得分:7)

正如Marc所说,Dapper不打算为你做那个,但是看看我的答案(ADO.NET distinct data bases)并简单地调整其中一个命令属性来构造一个CREATE TABLE语句,它将会利用反思。这应该是一个很好的开端。

我会创建一个示例,但我正在通过手机回答这个问题。

答案 1 :(得分:3)

派对相当晚,但我只是想补充说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

但请注意,此库免费。