可以多主键,如下:
using Systemusing System.ComponentModel.DataAnnotations
using System.ComponentModel.DataAnnotations.Schema
public class Entity
{
[Key,Column(Order = 0)]
public int Key1 { get set }
[Key,Column(Order = 1)]
public string Key2{ get set }
[Key,Column(Order = 2)]
public string Key3{ get set }
//....
}
按如下方法: 1、创建表 create table t5 (id int auto_increment,name varchar(20) primary key,key(id))其中name字段是主键,而id字段则是自增字段。 2、试插入数据: insert into t5 (name) values ('a')执行结果: 可以看出第一次,id字...3355EF Code-Frist本身就是支持事务的。我们的每一次SaveChanges就是一个事务 *** 作,只需要在所有更改都完成后,调用这个方法就可以了。
如果你不愿意,网上还有人给出了手动的开启事务的代码(我没有测试过):
DbConnection con = ((IObjectContextAdapter)ctx).ObjectContext.Connection
con.Open()
using (var tran = con.BeginTransaction())
{
// 这里才是事务中的代码
tran.Commit()
}
con.Close()
以上都是针对一个DbContext,也就是一个数据库的时候,如果 *** 作涉及到多个数据库,还是使用分布式事务 *** 作比较靠谱。
原文链接:http://www.cnblogs.com/youring2/archive/2012/05/23/2514962.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)