C# EF实体未将新值设置为属性
我有实体类:C# EF实体未将新值设置为属性,c#,entity-framework,C#,Entity Framework,我有实体类: public class Account : IAccount { [Key, ForeignKey("PUser")] public int IdUser { get; set; } public virtual User PUser { get; set; } [Required] public decimal Balance { get; set; } } 但当我尝试更新检索实体并将新值设置为propertyBalance时
public class Account : IAccount
{
[Key, ForeignKey("PUser")]
public int IdUser { get; set; }
public virtual User PUser { get; set; }
[Required]
public decimal Balance { get; set; }
}
但当我尝试更新检索实体并将新值设置为propertyBalance
时,该值不会更改
为什么会发生这种情况,我应该如何改变它
Account senderAccount = _context.Accounts.FirstOrDefault(u => u.IdUser == userSenderId);
if (senderAccount != null)
senderAccount.Balance = 400;
之后,senderAccount.Balance
仍有旧值
在调用
SaveChanges
方法之前,Thnx查询不会发送到数据库。因此,您要做的是添加\u context.SaveChanges()当您想向数据库发送查询时,代码>行。在您的情况下,它应该如下所示:
Account senderAccount = _context.Accounts.FirstOrDefault(u => u.IdUser == userSenderId);
if (senderAccount != null)
senderAccount.Balance = 400;
_context.SaveChanges();
此外,如果适用,请不要忘记使用
块将上下文装入中。
阅读更多。在调用SaveChanges
方法之前,查询不会发送到数据库。因此,您要做的是添加\u context.SaveChanges()当您想向数据库发送查询时,代码>行。在您的情况下,它应该如下所示:
Account senderAccount = _context.Accounts.FirstOrDefault(u => u.IdUser == userSenderId);
if (senderAccount != null)
senderAccount.Balance = 400;
_context.SaveChanges();
此外,如果适用,请不要忘记使用
块将上下文装入中。
阅读更多。您缺少\u context.SaveChanges()代码>。在设置平衡后添加。哦..抱歉,你可以将其作为答案@AdilMammadov我已经删除了我的一个:D@Sampath,谢谢,不是每个人都像你一样好:)欢迎你@AdilMammadov:)@Sampath,我在这里从来没有见过这样的行为!给人印象深刻的您缺少\u context.SaveChanges()代码>。在设置平衡后添加。哦..抱歉,你可以将其作为答案@AdilMammadov我已经删除了我的一个:D@Sampath,谢谢,不是每个人都像你一样好:)欢迎你@AdilMammadov:)@Sampath,我在这里从来没有见过这样的行为!给人印象深刻的谢谢你的帮助!在我的例子中,它是存储库的一部分,并用him@3axap,不客气。是的,这是更好的练习。您可以搜索实体框架工作单元模式以获得更好的模式:)谢谢您的帮助!在我的例子中,它是存储库的一部分,并用him@3axap,不客气。是的,这是更好的练习。您可以搜索实体框架工作单元模式以获得更好的模式:)