我有一个设置为自动递增的ID(显然是int)。
var dc = new DataContext([STRING]); var usersTable = dc.GetTable<Audit_User>(); var user = usersTable.FirstOrDefault(o => o.Username.Equals("NAME")); if (user == null) { user = new Audit_User() { Username = "NAME" }; usersTable.InsertOnSubmit(user); } //HERE - I need access to the user Id dc.SubmitChanges();
有关更多信息,请参见标签。
//这里-我需要访问用户ID
其实你 没有 。如果您始终使用linq-2-sql,则可以分配用户 实体, 而不必设置user.id来填充关系(最可能的原因,您需要ID)。
所以不要做
somerelated_table.fk_user_id = user.id
你做
somerelated_table.user = user
当您调用SubmitChanges时,Linq-2-sql将处理user.id的正确分配。另外,所有奖金都将在一次交易中完成。那就是linq-2-sql的美。
如果您需要在 不 使用linq-2-sql的 情况下 进行操作,则可以在提交更改后以任何方式使用它,无论如何都没有关系