在用户注册时将用户添加到表并使用用户ID,同时将数据添加到第二个表

时间:2019-04-05 12:18:36

标签: c# sql entity-framework

在我的控制器中,用户注册的最后一部分是:

_context.Users.Add(user);
_context.SaveChanges();

现在我想获取ID的条目并在将其他数据添加到第二张表时使用它,我该怎么做?

3 个答案:

答案 0 :(得分:1)

如果User主键是auto-generated,则可以执行以下操作:

......

_context.Users.Add(user);

SecondTable secondTable = new SecondTable();
secondTable.UserId = user.Id; // <-- Just point the user Id here
_context.SecondTables.Add(secondTable);

_context.SaveChanges();

答案 1 :(得分:1)

如果您具有自动递增的ID队列,那么很容易获得该ID(调用SaveChanges()之后):

var id = _context.Users.OrderByDescending(u => u.Id).First().Id

或者,如果您手动输入ID,则更为简单:

var id = user.Id;

答案 2 :(得分:0)

保存更改后,实体从数据库获取其ID。 您还可以使用导航属性并在一个事务中完成所有更改(保存更改)