[英]Neo4jClient Create is including a JsonIgnore property
我有一个具有简单属性的 C# 类,我希望在调用创建时将其保存到节点。 当我使用 Neo4jClient 5.1.3 构建查询时,CREATE 命令中包含一个用 [JsonIgnore] 装饰的复杂类。
这是一个 Person 类:
public class Person {
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
[JsonIgnore]
public Organization Employer { get; set; }
}
我正在创建它的一个实例:
var person = new Person
{
Email = "absdfasdf@12341234.com",
FirstName = "Job",
LastName = "Bob",
Employer = previouslyCreatedEmployer,
};
...当我运行这个时:
var query = neo.Client.Cypher
.Create("(p:Person:Security $object)")
.WithParams(new Dictionary<string, object> {
{ "object", person }
})
;
QueryTextForDebug 是这样的:
CREATE (p:Person:Security {
Email: "absdfasdf@12341234.com",
FirstName: "Job",
LastName: "Bob",
Employer: {
Logo: "",
IxId: "89becda5-98b4-4623-928f-4c6580cd554f",
name: "Joe's Bakery"
},
IxId: "eb117b37-b062-40e1-b038-1749156ecf7a"
})
因为我在类定义中的 Employer 上有 JsonIgnore 标签,所以我不希望它被包含在内。 我错过了什么? 谢谢你。
边想......也许我不应该在那里有 JsonIgnore 标签,这样我就可以编写更好的查询,对吧?
Neo4jClient v5.1.3依赖于 Newtonsoft.Json,检查JsonIgnore
来自这个库而不是来自System.Text.Json
,或者指定包括命名空间的完整类型名称:
public class Person
{
[Newtonsoft.Json.JsonIgnore]
public Organization Employer { get; set; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.