如何在Neo4jClient中左键加入,
我有以下在neo4j中运行良好的查询如何在Neo4jClient中左键加入,,neo4j,left-join,neo4jclient,Neo4j,Left Join,Neo4jclient,我有以下在neo4j中运行良好的查询 MATCH (p:Product) OPTIONAL MATCH (p)-[r2:SCP_HAS_SCMVSV]-(pv:ProductSCMVSValue) OPTIONAL MATCH (pv)-[r3:SCMVS_IN_SCPS]-(ps:ProductStorage) OPTIONAL MATCH (pv)-[r5:SCP_HAS_SCPP]-(pp:ProductPrice) return p,r2 is null,pv,pp,ps 当我将查询转
MATCH (p:Product)
OPTIONAL MATCH
(p)-[r2:SCP_HAS_SCMVSV]-(pv:ProductSCMVSValue)
OPTIONAL MATCH
(pv)-[r3:SCMVS_IN_SCPS]-(ps:ProductStorage)
OPTIONAL MATCH
(pv)-[r5:SCP_HAS_SCPP]-(pp:ProductPrice)
return p,r2 is null,pv,pp,ps
当我将查询转换为neo4jclient时,它是这样的:
var retxx = client.Cypher
.Match("(sc:ProductSpecCategory)-[r:SCMVS_IN_SC]-(p:Product)").
OptionalMatch("(p)-[r2:SCP_HAS_SCMVSV]-(pv:ProductSCMVSValue)").
OptionalMatch("(pv)-[r3:SCMVS_IN_SCPS]-(ps:ProductStorage)").
OptionalMatch("(pv)-[r5:SCP_HAS_SCPP]-(pp:ProductPrice)")
.Where("sc.Id = {param2}").WithParam("param2", scId)
.ReturnDistinct((p, pp, pv) => new
{
CurrentValues = pv.CollectAs<ProductSCMultiValueSpecValue>(),
CurrentPrice = pp.CollectAs<ProductPrice>(),
CurrentProduct = p.As<Product>(),
}).Results.ToList();
var retxx=client.Cypher
.Match(“(sc:ProductSpecCategory)-[r:SCMVS\U IN\U sc]-(p:Product)”)。
OptionalMatch(“(p)-[r2:SCP\U HAS\U SCMVSV]-(pv:ProductSCMVSValue)”)。
OptionalMatch(“(pv)-[r3:SCMVS\U IN\U SCPS]-(ps:ProductStorage)”)。
OptionalMatch(“(pv)-[r5:SCP\U HAS\U SCPP]-(pp:ProductPrice)”)
.Where(“sc.Id={param2}”).WithParam(“param2”,scId)
.ReturnDistinct((p、pp、pv)=>新
{
CurrentValues=pv.CollectAs(),
CurrentPrice=pp.CollectAs(),
CurrentProduct=p.As(),
}).Results.ToList();
我如何将(r2为null)放入.ReturnDistinct((p,pp,pv)或它的方式错误?要获取
r2为null
位,应使用返回。As
方法:
.ReturnDistinct((p, pp, pv) => new
{
CurrentValues = pv.CollectAs<ProductSCMultiValueSpecValue>(),
CurrentPrice = pp.CollectAs<ProductPrice>(),
CurrentProduct = p.As<Product>(),
R2IsNull = Return.As<bool>("r2 IS NULL")
})
.ReturnDistinct((p,pp,pv)=>新建
{
CurrentValues=pv.CollectAs(),
CurrentPrice=pp.CollectAs(),
CurrentProduct=p.As(),
R2IsNull=Return.As(“r2为NULL”)
})
要获取r2为空
位,您应该使用返回。As
方法:
.ReturnDistinct((p, pp, pv) => new
{
CurrentValues = pv.CollectAs<ProductSCMultiValueSpecValue>(),
CurrentPrice = pp.CollectAs<ProductPrice>(),
CurrentProduct = p.As<Product>(),
R2IsNull = Return.As<bool>("r2 IS NULL")
})
.ReturnDistinct((p,pp,pv)=>新建
{
CurrentValues=pv.CollectAs(),
CurrentPrice=pp.CollectAs(),
CurrentProduct=p.As(),
R2IsNull=Return.As(“r2为NULL”)
})