我在更新实体框架 6 中的值时遇到问题,我已经通过互联网彻底查看了答案,但似乎我做的一切都很好,但我似乎无法让它工作。
值得一提的是,将实体添加到数据库中效果很好,这意味着我可以将项目中的产品/用户添加到数据库中,但不能更新它们。这是家庭作业。
public bool ChangeAccountStatus(long userID, bool isUserActive)
{
User userToChange = GetUserById(userID); // Gets the user whose values I want to change.
using (var context = new ShopContext())
{
if (userToChange != null)
{
if (isUserActive)
{
userToChange.IsActive = false;
context.SaveChanges();
}
else
{
userToChange.IsActive = true;
context.SaveChanges();
}
return true;
}
return false;
}
}
如果我使用 linq 来查找我想要更改其值的用户,我可以使更新工作,但我不希望我的项目中有太多的代码重复,并且我在许多中使用相同的 linq(函数 GetUserById)其他功能。我是否需要使用 linq 从数据库访问用户,而不是使用我创建的函数来避免代码重复?这是 GetUserById 函数:
public User GetUserById(long userId)
{
using (var context = new ShopContext())
{
var userToFind = context.UsersTable
.Where((u) => u.Id == userId).FirstOrDefault();
if (userToFind != null)
return userToFind;
else
return null;
}
}
杨__羊羊
相关分类