c#中我们常用guid作为项目主键,其中很重要的一个因素就是因为已知ID的时候构建事务会很直接。
而实际上,有些数据库中使用自增主键性能会更好,
那么在ef中,自增主键的事务要怎么操作呢?
其实方法很简单,就是把上级对象的id引用直接传递进来,EF会自动对使用引用的部分进行绑定自增ID的操作。
这样,我们的目标就达成了。
实例见下文代码
class Program
{
static void Main(string[] args)
{
Company com1=new Company()
{
Name = "com1",
};
Department dept1=new Department()
{
CompanyID = com1.CompanyID,
Name = "dep1",
};
User user1=new User()
{
Name = "user1",
CompanyID = com1.CompanyID,
DepartmentID = dept1.DepartmentID,
};
EFDB db=new EFDB();
db.Company.Add(com1);
db.Department.Add(dept1);
db.User.Add(user1);
db.SaveChanges();
}