如何在EF中做到事务的效果呢?
新手刚接触EF,先说下我的环境。
我的数据库SQL CE的,然后用了EF code first 方式生成的SQL CE数据库,再然后我这里面有个添加操作是涉及到多个表的,我想问下怎么才能做到SQLServer中事务的效果呢? 数据库 EF SQL?CE
[解决办法]
使用代码描述数据库,可不简单,得把所有语法都学齐全了。
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();
}