C# 使用Neo4jclient查询的where子句中with子句中定义的别名
我想在neo4jclient中为此cypher查询创建一个查询: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
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”))也是如此。回答一下,我就接受。塔克斯!