C# Neo4jClient“;“在什么情况下”;连同回报

C# Neo4jClient“;“在什么情况下”;连同回报,c#,neo4j,neo4jclient,C#,Neo4j,Neo4jclient,我正试图找出如何做这样的事情(简化): 使用C#中的Neo4jClient。我试过这个: .Return((groups) => new { Board = parentBoard.As<Board>(), Groups = Return.As<Groups>("CASE WHEN groups IS NOT NULL THEN collect(groups) ELSE NULL END") }); 董事会级别: public class Boar

我正试图找出如何做这样的事情(简化):

使用C#中的Neo4jClient。我试过这个:

.Return((groups) => new
{
    Board = parentBoard.As<Board>(),
    Groups = Return.As<Groups>("CASE WHEN groups IS NOT NULL THEN collect(groups) ELSE NULL END")
});
董事会级别:

public class Board
{
    [JsonProperty("id")]
    public string Id { get; set; }

    [JsonProperty("name")]
    public string Name { get; set; }

    [JsonProperty("description")]
    public string Description { get; set; }
}
分组类别:

public class Groups
{
    [JsonProperty("group")]
    public Group Group { get; set; }

    [JsonProperty("boards")]
    public IEnumerable<Board> Boards { get; set; }
}
公共类组
{
[JsonProperty(“集团”)]
公共组组{get;set;}
[JsonProperty(“董事会”)]
公共IEnumerable板{get;set;}
}

Edit:我还尝试压缩三元条件:
Groups=Groups==null?null:groups.CollectAs()
但是它抛出了一个NotSupportedException,说“FullConditionalExpression不受支持”

啊,我解决了它。解决方案非常明显
Return.As
需要是
Return.As

As collect()是一个聚合,请尝试先执行collect(),然后执行列表中的案例
将collect(groups)作为allGroups返回大小写,当allGroups=[]时为NULL,否则allGroups作为allGroups结束
public class Board
{
    [JsonProperty("id")]
    public string Id { get; set; }

    [JsonProperty("name")]
    public string Name { get; set; }

    [JsonProperty("description")]
    public string Description { get; set; }
}
public class Groups
{
    [JsonProperty("group")]
    public Group Group { get; set; }

    [JsonProperty("boards")]
    public IEnumerable<Board> Boards { get; set; }
}