【发布时间】:2019-10-28 16:01:37
【问题描述】:
我需要将用户输入的一些数据存储到 RavenDb。但是,当用户键入某些属性时,我不想被覆盖。所以我想暂时排除这个属性被保存。那可能吗?我知道“JsonIgnore”的解决方案,但是该属性将被永久忽略。
【问题讨论】:
-
为什么要在用户还在编辑的时候保存数据?准备好后,只需使用其他 TempObject 或其他任何东西来创建最终对象以保存在数据库中
我需要将用户输入的一些数据存储到 RavenDb。但是,当用户键入某些属性时,我不想被覆盖。所以我想暂时排除这个属性被保存。那可能吗?我知道“JsonIgnore”的解决方案,但是该属性将被永久忽略。
【问题讨论】:
我认为更好的方法是扭转这个问题。 与其尝试保存整个对象并忽略对特定属性的更改,不如只设置您想要设置的属性?
以下是相关文档:
这就是你如何设置两个属性,其余的保持原样:
session.Advanced.Patch<Employee, string>("employees/1", x => x.FirstName, "Robert");
session.Advanced.Patch<Employee, string>("employees/1", x => x.LastName, "Carter");
session.SaveChanges();
【讨论】: