如何使用C#中的dapper在oracle中插入多个表



我有3个表。Table_main(主键-pk_main(表A-(主密钥-PK_A(,PK为外键。选项卡B-(主键-PK_B(,PK_A为外键。

我们可以使用Dapper吗?还使用单个查询?

如果不能,可以只打开一次DB连接,而不是多次打开不同的表插入。

不能使用一个查询插入多个表。但是,您可以插入单个连接。

public IDbconnection OpenDbConnection()
{
var dbconnection = new OracleConnection();
if(dbconnection.State == ConnectionState.Closed)
{
dbconnection.Open();
}
}
public void BeginTrans()
{
_db = OpenDbConnection(ConnectionStringHere);
_tran = _db.BeginTransaction();
}
public void CommitTrans()
{
_tran.Commit();
if(_db.State == ConnectionState.Open)
_db.Close(); // close db connection
}
public void RollbackTrans()
{
_tran.Rollback();
if(_db.State == ConnectionState.Open)
_db.Close(); // close db connection
}

您可以在具有接口(例如IDbInterface、DbClass(的同一类中编写这些方法。可以在构造函数_db和_tran中注入两个属性。

您可以将这些方法用作

try
{
// BeginTrans method 
Your logic and queries
// CommitTrans
}
catch
{
//RollbackTrans
}