繁体   English   中英

Neo4jClient Create 包含一个 JsonIgnore 属性

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM