Dapper:从对象类型创建表

c# dapper

早上好。

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

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

任何建议表示赞赏。

谢谢!

一般承认的答案

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

我想创建一个例子,但我正在用手机回答这个问题。


热门答案

派对的时间比较晚,但我只想补充一点, 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

但请注意,此库不是免费的。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因