Я могу получить ту же самую работу запроса в браузере Neo4J, но Neo4JClient не возвращает данных.Почему доза Neo4jClient не возвращает данные, но окно Cypher делает
Это ошибка в Neo4JClient?
вот мой C# код в Neo4JClient
//Define Load warehouse relationship
string createQry = "(user)<-[:PUBLISHED_BY]-(load:Shipment {shipmentData})<-[:HAS_PUBLISHED]-(shipper),(addr)<-[:HAS_ADDRESS {Type: 'PICKUP'}]-(load)-[:SHIPPED_FROM]->(whse), " +
//Define the dates on the load
"(publishDay)<-[:PUBLISHED_ON]-(load)-[:HAS_PICKUP_DATE]->(pickup), (load)-[:HAS_DELIVER_BY_DATE]->(deliverBy), " +
//Define various constraints on the load
"(vehCat)<-[:DEFINES]-(const:Constraint {constraintData})<-[:HAS_CONSTRAINT]-(load)-[:HAS_PRODUCT_TYPE]->(prodType)";
var qry = GraphClient.Cypher
.Match("(user:Person)<-[:HAS_EMPLOYEE]-(wf)<-[:HAS_WORKFORCE]-(shipper:Shipper),(shipper)-[:HAS_WAREHOUSE]->(whse:Warehouse)-[:HAS_ADDRESS]-(addr), (vehCat:VehicleCategory), (prodType:ProductType) ")
.Where("user.InternalId ={userId}")
.AndWhere("whse.InternalId = {pickupWhseId}")
.AndWhere("vehCat.InternalId = {categoryId}")
.AndWhere("prodType.InternalId IN [{shippedProducts}]")
.WithParams(new {
userId = currentUserId,
pickupWhseId = shipment.ShippedFrom.InternalId,
categoryId = shipment.VehicleCategory.InternalId,
shippedProducts = prodInClause
})
.With("user, shipper, whse, addr, vehCat, prodType")
.Start(new { publish = publishDay, pickup = pickupDay, deliverBy = deliverByDay })
.CreateUnique(createQry)
.WithParams(
new {
shipmentData = loadData,
constraintData = constraint
})
.Return((load, shipper)=> new
{
load = load.Node<model.Publishing.Shipment>(),
shipper = shipper.Node<model.Publishing.Shipper>()
});
var qryResult = qry.Results.Single(); //THROWS ERROR!!
var shipmentNode = qryResult.load;
var shipperNode = qryResult.shipper;
, что приводит к следующему шифровальщика запроса в соответствии с Neo4JClient-х qry.Query.QueryText
MATCH (user:Person)<-[:HAS_EMPLOYEE]-(wf)<-[:HAS_WORKFORCE]-(shipper:Shipper),(shipper)-[:HAS_WAREHOUSE]->(whse:Warehouse)-[:HAS_ADDRESS]-(addr), (vehCat:VehicleCategory), (prodType:ProductType)
WHERE user.InternalId ={userId}
AND whse.InternalId = {pickupWhseId}
AND vehCat.InternalId = {categoryId}
AND prodType.InternalId IN [{shippedProducts}]
WITH user, shipper, whse, addr, vehCat, prodType
START publish=node({p4}), pickup=node({p5}), deliverBy=node({p6})
CREATE UNIQUE (user)<-[:PUBLISHED_BY]-(load:Shipment {shipmentData})<-[:HAS_PUBLISHED]-(shipper),(addr)<-[:HAS_ADDRESS {Type: 'PICKUP'}]-(load)-[:SHIPPED_FROM]->(whse), (publishDay)<-[:PUBLISHED_ON]-(load)-[:HAS_PICKUP_DATE]->(pickup), (load)-[:HAS_DELIVER_BY_DATE]->(deliverBy), (vehCat)<-[:DEFINES]-(const:Constraint{constraintData})<-[:HAS_CONSTRAINT]-(load)-[:HAS_PRODUCT_TYPE]->(prodType)
RETURN load AS load, shipper AS shipper
но когда выполняется следующий код «qry.Results.Single();
» Я получаю исключение, поскольку результаты не возвращаются. Я скопировал тот же запрос в окно запроса Neo4J и скорректировал параметры и вернул данные на этом экране, как показано ниже.
Запрос:
MATCH (user:Person)<-[:HAS_EMPLOYEE]-(wf)<-[:HAS_WORKFORCE]-(shipper:Shipper),(shipper)-[:HAS_WAREHOUSE]->(whse:Warehouse)-[:HAS_ADDRESS]-(addr), (vehCat:VehicleCategory), (prodType:ProductType)
WHERE user.InternalId =2 AND whse.InternalId = 999991 AND vehCat.InternalId = 101 AND prodType.InternalId IN [6,7]
WITH user, shipper, whse, addr, vehCat, prodType
START publish=node(605), pickup=node(606), deliverBy=node(608)
CREATE UNIQUE (user)<-[:PUBLISHED_BY]-(load:Shipment { DeliveryByDate:'12/3/2013 6:30:00 PM +00:00', PickupDate: '11/26/2013 6:30:00 PM +00:00', TotalVehiclesNeeded:'3', TotalWeightShipped:'45' })<-[:HAS_PUBLISHED]-(shipper),(addr)<-[:HAS_ADDRESS {Type: 'PICKUP'}]-(load)-[:SHIPPED_FROM]->(whse), (publishDay)<-[:PUBLISHED_ON]-(load)-[:HAS_PICKUP_DATE]->(pickup), (load)-[:HAS_DELIVER_BY_DATE]->(deliverBy), (vehCat)<-[:DEFINES]-(const:Constraint { ConstraintType:'LoadingConstraint', IsHardConstraint:'false'})<-[:HAS_CONSTRAINT]-(load)-[:HAS_PRODUCT_TYPE]->(prodType)
RETURN load AS load, shipper AS shipper
есть ли способ, чтобы включить ведение журнала, чтобы увидеть, что происходит в Neo4jCLient?