efsql
發布時間: 2022-02-02 07:54:57
❶ 如何在EF中做到事務的效果呢
資料庫EFSQL CE 等大神們指導啊 小弟被這問題困擾好久了啊。。。。。 使用代碼描述資料庫,可不簡單,得把所有語法都學齊全了。 EF本身就自帶事務,同一個上下文就行了。 明白你說的意思了。 可惜自己對EF了解的太少了、好多地方還是感覺很迷糊 DbConnection con = ((IObjectContextAdapter)ctx).ObjectContext.Connection; con.Open(); using (var tran = con.BeginTransaction()){// 這里才是事務中的代碼 tran.Commit();}con.Close(); using (CostManagementSystemEntities ent = new CostManagementSystemEntities())//在這個上下文里{tablename1 t1=new tablename1 ();//表1 tablename2 t2=new tablename2 ();//表2 ent.tablename1.AddObject(t1); ent.tablename2.AddObject(t2); ent.SaveChanges(); }只有ent.SaveChanges()時表1和表2才會插入數據,而且如果其中一個插入失敗另一個也不會插入,你想要的效果,就這么簡單 就是保證事務中的 ObjectContext 是在一個地方new 出來的。
熱點內容