gpt4 book ai didi

c# - 实体更新不工作,更新过程中没有错误。

转载 作者:行者123 更新时间:2023-11-30 17:48:38 25 4
gpt4 key购买 nike

没有错误,在数据库中找到了 newUser 对象,但数据库没有被修改。有什么问题。作为新手,非常感谢详尽的回答。谢谢。

TBL_LogIn newUser = new TBL_LogIn();
newUser = hrmsDb.TBL_LogIn.Where(x => x.EmployeeID == inputEmployeeID).FirstOrDefault();
try
{
if (newUser != null)
{
AddLogInInfo(newUser);
hrmsDb.Entry(newUser).State = EntityState.Modified;
hrmsDb.SaveChanges();
}
else
{ }
}
catch (Exception ex)
{
throw;
}

/*-----Functions to Update New Employee Information in Three tables-------*/
private void AddLogInInfo(TBL_LogIn newUser)
{
string UserName = TextBoxUsername.Text;
string Password = TextBoxPassword.Text;
string UserType = TextBoxUserType.Text;

newUser.UserName = UserName;
newUser.PassWord = Password;
newUser.UserType = UserType;
}

最佳答案

我不知道是不是这两种情况导致了问题,但是当您只是要检索到下一行的变量时,您不应该创建一个新对象,并且没有必要设置对象的状态,EF 应该为您处理。

TBL_LogIn newUser = hrmsDb.TBL_LogIn.Where(x => x.EmployeeID == inputEmployeeID).FirstOrDefault();

if (newUser != null)
{
AddLogInInfo(newUser);
hrmsDb.SaveChanges();
}
else
{ }

附言如果您在 catch block 中要做的只是重新抛出异常,请不要费心放入 try/catch,因为无论如何都会发生这种情况。

关于c# - 实体更新不工作,更新过程中没有错误。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22643155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com