我有2张表,如下所示。我正在使用DB第一个approch
public class Team
{
public long Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
public class Employee
{
public long Id { get; set; }
public long TeamId { get; set; } // foreign key reference fom Team table
public string Name { get; set; }
public long ReferedBy { get; set; } // foreign key reference fom employee table
}
现在我必须向两个表插入一次数据。例如,我需要插入如下数据。
在介绍Referred By列之前,我使用下面的代码插入。
Team team = new Team();
team.Name = "Team1";
team.Description = "Some Description";
Employee E1 = new Employee();
E1.Name = "Jon";
Employee E2 = new Employee();
E2.Name = "Harish";
team.Employee.Add(E1);
team.Employee.Add(E2);
DBEntity db = new DBEntity();
db.Set<Team>().add(team);
db.saveChanges();
在介绍Referred By Column后如何将这些引用插入数据库。
答案 0 :(得分:0)
public long TeamId {get;组; } //外键引用fom团队表
你需要一对一的关系,请看我的帖子:
在介绍Referred By列之前,我使用下面的代码插入。
这里需要自我引用实体:
答案 1 :(得分:0)
如果需要将插入作为批量插入执行,并且Employee表的id是标识列,则必须调用SaveChanges()两次以从db获取标识值,以便设置emp2.ReferredBy = emp1 .ID;
如果您要求在一次点击中击中数据库,则有两种选择 1.使用事务并在事务回滚失败的情况下调用SaveChanges两次。 2.构建自己的身份技术并在db中停止身份。