有没有人找到一种使用数据注释来防止特定属性在 json 补丁文档中更新的好方法。
模型:
public class Entity
{
[DoNotAllowPatchUpdate]
public string Id { get; set; }
public string Name { get; set; }
public string Status { get; set; }
public string Action { get; set; }
}
逻辑:
var patchDoc = new JsonPatchDocument<Entity>();
patchDoc.Replace(o => o.Name, "Foo");
//Prevent this from being applied
patchDoc.Replace(o => o.Id, "213");
patchDoc.ApplyTo(Entity);
逻辑代码只是一个示例,说明来自客户端的补丁文档看起来像什么,只是为了快速测试目的而在 C# 中生成