C# 使用Neo4jclient查询的where子句中with子句中定义的别名

C# 使用Neo4jclient查询的where子句中with子句中定义的别名,c#,neo4j,cypher,neo4jclient,C#,Neo4j,Cypher,Neo4jclient,我想在neo4jclient中为此cypher查询创建一个查询: MATCH (price:Item)-->(item:Item) WHERE (item.Id = 2) WITH item, max(price.Timestamp) AS maxDate MATCH (price:Item)-->(item:Item) WHERE (price.Timestamp = maxDate) RETURN price 我已经想出了这段代码: _graphClient.Cypher

我想在neo4jclient中为此cypher查询创建一个查询:

MATCH (price:Item)-->(item:Item)
WHERE (item.Id = 2)
WITH item, max(price.Timestamp) AS maxDate
MATCH (price:Item)-->(item:Item)
WHERE (price.Timestamp = maxDate)
RETURN price
我已经想出了这段代码:

_graphClient.Cypher
        .Match("(price:Price)-->(item:Item)")
        .Where((Item item) => item.Id == 2)
        .With((price, item) => new 
           {
             item, 
             maxDate = Return.As<DateTimeOffset>("max(price.Timestamp)")
           })
        .Match("(price:Price)-->(item:Item)")
        .Where((Price price) => price.Timestamp == Return.As<DateTimeOffset>("maxDate"))
        .Return(price=> price.As<Price>())
\u graphClient.Cypher
.Match(“(价格:价格)-->(项目:项目)”)
.其中((项目)=>Item.Id==2)
.带有((价格,项目)=>新
{
项目,,
maxDate=Return.As(“max(price.Timestamp)”)
})
.Match(“(价格:价格)-->(项目:项目)”)
其中((Price)=>Price.Timestamp==Return.As(“maxDate”))
.Return(price=>price.As())
但这将返回qoutes中的maxDate别名:

MATCH (price:Item)-->(item:Item)
WHERE (item.Id = 2)
WITH item, max(price.Timestamp) AS maxDate
MATCH (price:Item)-->(item:Item)
WHERE (price.Timestamp = "maxDate") <--
RETURN price
匹配(价格:项目)-->(项目:项目)
其中(item.Id=2)
使用项目,max(price.Timestamp)作为maxDate
匹配(价格:项目)-->(项目:项目)

其中(price.Timestamp=“maxDate”)代码方面Return.As语句用于帮助Neo4jClient了解解析结果的方式(当在Return语句中使用时)和With的处理方式相同

使用时,它们输出您看到的
Cypher
(因此
“max.Timestamp as maxDate”
),并返回
。as
将始终输出该类型的响应:/


我所知道的获取
Where
的唯一方法是通过
Where(“price.Timetamp=maxDate”)
,使用字符串重载。

代码方面的
返回。As
语句用于帮助
Neo4jClient
知道将结果解析为什么(在
返回
语句中使用时)而带有
则以相同的方式处理

使用时,它们输出您看到的
Cypher
(因此
“max.Timestamp as maxDate”
),并返回
。as
将始终输出该类型的响应:/


我所知道的获得Where的唯一方法是通过
Where(“price.Timetamp=maxDate”)
,使用字符串重载。

你有没有试过
Where(“price.Timestamp=maxDate”)
?Hmm不知道这种可能性。行。不是美女,但话说回来。。Return.As(“max(price.Timestamp”))也是如此。回答一下,我就接受。塔克斯!你试过了吗?
Where(“price.Timestamp=maxDate”)
?嗯,我不知道这种可能性。行。不是美女,但话说回来。。Return.As(“max(price.Timestamp”))也是如此。回答一下,我就接受。塔克斯!