对于像我一样被这篇文章绊倒的其他人,现在在 Dapper.Rainbow 0.1.3 版中已修复。
它目前仍处于测试阶段(0.1.3-beta1),因此如果您想使用模式,您可以克隆/分叉存储库并运行构建脚本。然后可以直接使用或打包二进制输出。
至于表设置,您需要使用该特定表的模式名称来定义表名,例如查看这个没有模式的示例
public class MyDatabase : Database<MyDatabase>
{
public Table<Order> Order{ get; set; }
public Table<Customer> Customer { get; set; }
public Table<Item> Item { get; set; }
}
如果您仅使用 dbo,则该方法有效。但是,例如,如果您对 Item 使用说 Product 模式,则必须使用构造函数来定义它
public class MyDatabase : Database<MyDatabase>
{
public Table<Order> Order{ get; set; }
public Table<Customer> Customer{ get; set; }
public Table<Item> Item;
public MyDatabase()
{
Item = new Table<Item>(this, "Product.Item");
}
}
其余的应该和以前一样
using (var connection = DbConnections.Create())
{
connection.Open();
var db = MyDatabase.Init((DbConnection)connection, commandTimeout: 2);
var insert = db.Customer.Insert(
// .
//..... your object
// .
);
var insertId = insert.Value;
}