간단히하기 위해 [: STUDENT_AT] 관계를 통해 사용자가 대학과 관련 될 수있는 사용자 노드와 대학 노드가 포함 된 Neo4j 데이터베이스가 있습니다.Neo4jClient 쿼리 결과에서 여러 열 처리하기
특정 사용자에 대한 사용자 세부 정보와 대학 세부 정보 (이 경우 '사용자 이름'값으로 쿼리)를 모두 반환하려고합니다.
쿼리 자체가 정상적으로 작동하지만 두 개체가 작동하도록 Neo4jClient에서 deserialiser를 가져 오는 올바른 방법을 찾지 못했습니다. 아래는 내가해야한다고 생각하는 것입니다. 그러나 - 아아 - 그렇지 않습니다.
graph.Cypher
.Start("user", "node(*)")
.Match("user-[:STUDENT_AT]->university")
.Where<User>(user =>
user.Username != null &&
user.Username.ToLower() == username.ToLower())
.Return((user, university) => new
{
User = user.As<User>(),
University = university.As<University>()
})
.Results;
는 성공적으로 Neo4j에 연결 않은 IGraphClient
입니다.
쿼리 응답이 열 사용자를 포함
I가받을 오류 ..., 대학교 그러나 <> f__AnonymousType0`2 [[XYZ.Entities.User, XYZ.Entities, 버전 = 1.0.0.0 , 문화권 = 중립, PublicKeyToken = null], [XYZ.Entities.University, XYZ.Entities, 버전 = 1.0.0.0, 문화 = 중립, PublicKeyToken = null]]이 데이터를 수신하기 위해 공개적으로 설정 가능한 속성을 포함하고 있지 않습니다.
그래서 요약, 사람이 나는 매우 감사 할 것 Neo4jClient를 사용하여 여러 열을 반환하는 사이퍼 쿼리에서 개체를 얻기의 방법으로 날을 제공 할 수 있다면!
어쩌면 바보 같은 질문 일지 모르지만, C# 클래스에 존재하지 않는 (또는 적어도 공개적으로 공개되지 않은) 대학 또는 사용자 Neo4j 노드의 속성을 가질 수 있습니까? – baldric
나는 그것이 그럴 수도 있다고 생각했다. 그러나 한 가지 유형의 노드를 반환하는 간단한 쿼리 만 사용해도 문제가 없다. 속성을 맵핑 할 때 문제가 발생했다면 예외가 발생합니다. –