在我的网络应用程序中,当用户注册时,我必须将他的凭据存储在一个表中,将他的个人资料存储在另一个表中。
public long CreateUser(User user) {
using(EF db = new EF()) {
db.AddToUsers(user);
db.SaveChanges();
return user.UserId;
}
}
public void CreateUserAuth(UserAuth userAuth) {
using(EF db = new EF()) {
db.AddToUserAuths(userAuth);
db.SaveChanges();
}
}
例如:当User1注册时,我在Users表中保存user1,city,country 并在UserAuths表中保存user1,密码,CreatedOn 在这种情况下,我的代码是
CreateUser(user);
CreateUserAuth(userAuth);
...
如果CreateUserAuth由于某种原因失败,如何在CreateUser中恢复查询?
有没有办法在不进行大量结构改变的情况下实现这一目标?
我使用类似的功能创建了一个完整的网站。现在我意识到如果一个函数失败,就无法恢复已经执行的语句。
提前致谢。
答案 0 :(得分:2)