[英].Net Core Transaction Another Dll
lib.ParamsInsert是通過另一個dll調用的。 當throw語句出現問題時,事務將回滾。 但是,無法撤消paramsInsert中的操作。
在lib.ParamsInsert中,有一個錯誤的事務。
spcarikart.Repository lib = new spcarikart.Repository();
using (var transaction = db.Database.BeginTransaction())
{
try
{
var result = db.Acenta.Add(obj).Entity;
var a = lib.ParamsInsert(db, new Params
{
Baslik = "Bahdir",
Deger = "1"
});
// ....Maybe Error other process
db.SaveChanges();
return result;
}
catch (Exception ex)
{
transaction.Rollback();
}
}
參數插入
using (var transaction = db.Database.BeginTransaction())
{
try
{
var resul = db.Params.Add(obj).Entity;
db.SaveChanges();
transaction.Commit();
return resul;
}
catch (Exception ex)
{
transaction.Rollback();
throw new Exception();
}
}
他們使用不同的交易。 如我所見,不要啟動新事務,因為您使用相同的db上下文,所以不必在paramsInsert
啟動事務, paramsInsert
using (var transaction = db.Database.BeginTransaction())
刪除它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.