Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在neo4jclient中以自定义类型返回值_C#_Neo4jclient - Fatal编程技术网

C# 如何在neo4jclient中以自定义类型返回值

C# 如何在neo4jclient中以自定义类型返回值,c#,neo4jclient,C#,Neo4jclient,我是neo4jclient的新手,不知道如何在neo4jclient中返回自定义类型。 我有以下密码: var result = client.Cypher .Match("(u:User)-[:" + FriendRelation + "]->(friend:User)") .Return((user, friend) => new RelationInDB(user.As<User>().id, frie

我是neo4jclient的新手,不知道如何在neo4jclient中返回自定义类型。 我有以下密码:

var result = client.Cypher
                .Match("(u:User)-[:" + FriendRelation + "]->(friend:User)")
                .Return((user, friend) => new RelationInDB(user.As<User>().id, friend.As<User>().id)).Results;
var result=client.Cypher
.Match(((u:User)-[:“+FriendRelation+”]->(friend:User)”)
.Return((user,friend)=>newrelationIndb(user.As().id,friend.As().id)).Results;
我想返回所有具有friend relation的id对,我想在自定义类RelationInDB中存储两个id,但我不知道如何编写返回(我知道上面的返回是错误的)
有人能帮你吗?

好的,你会发现有两件事导致了你的问题:

  • 不能返回类的构造函数,需要使用默认构造函数和属性设置
  • 您的返回语句具有
    (用户、朋友)=>
    ,但您的匹配语句具有
    (u:user)
    。您的返回语句应该是:
    (u,friend)=>
  • 为此目的:

     var results = client
          .Cypher
          .Match("(u:User)-[:" + FriendRelation + "]->(friend:User)")
          .Return((u, friend) => new RelationInDB{UserId = u.As<User>().Id, FriendId = friend.As<User>().Id}).Results;
    
    如果您无法更改RelationInDB类,并且需要按原样使用它,则必须使用匿名类型作为返回:

     var results = client
          .Cypher
          .Match("(u:User)-[:" + FriendRelation + "]->(friend:User)")
          .Return((u, friend) => new {UserId = u.As<User>().Id, FriendId = friend.As<User>().Id}).Results;
    

    非常感谢!我从数据库里得到了数据。
     var results = client
          .Cypher
          .Match("(u:User)-[:" + FriendRelation + "]->(friend:User)")
          .Return((u, friend) => new {UserId = u.As<User>().Id, FriendId = friend.As<User>().Id}).Results;
    
    var relsInDb = results.Select(result => new RelationInDB(result.UserId, result.FriendId));