我有一个控制器,当我从AD获取用户证书并将其保存到Profiles
表中时。我也想设置一些用户首选项,但是,为了做到这一点,我需要Id
从Profile
我刚刚保存在Preference
表中。什么时候可以调用db.SaveChanges()两次?
var Profile = new Profile
{
//Id is auto increment
EmpId = viewmodel.EmployeeId;
//....
};
db.Profiles.Add(Profile);
db.SaveChanges();
偏好保存:
var user = User.Identity.Name;
var getUser = (from gu in db.Profiles where user == gu.EmployeeId select gu.Id).Single();
var Preference = new Preference
{
UserId = getUser,
//...
};
db.Preferences.Add(Preference);
db.SaveChanges();
在这种情况下,这是可以接受的?
是的,为什么不。但是,您也可以将配置文件分配给导航属性('new Preference {User = profileWhichIsNotYetSaved}'),并且只调用一次。 – Evk
这里定义的是uc – Harry
在你没有进行批量操作和交易的任何时刻,它是可以接受的吗 –