更新 Neo4j Cypher 查询抛出 NotSupportException

Update Neo4j Cypher query throws NotSupportException

我有以下 Neo4jClient Cypher 查询:

public TModel Update(TModel model)
{
    return GraphClient.Cypher.Match(string.Format("(e:{0})", typeof(TModel).Name))
                      .Where<IEntity>(e => e.Id == model.Id)
                      .Set("e = {model}")
                      .WithParam("model", model)
                      .Return(e => e.As<TModel>())
                      .Results
                      .Single();
}

此方法获取模型并使用模型的 Id 更新现有模型。

此方法是通用存储库的一部分,该存储库也以相同的方式具有 Save()、GetAll()、GetById()。但是更新方法失败,原因如下:

NotSupportedException 抛出消息:

Unhandled node type MemberAccess in MemberExpression: Convert(value(Refugee.DataAccess.Neo4j.Repository.Neo4jRepository`1+<>c__DisplayClass2[Refugee.DataAccess.Graph.Models.Refugee]).model).Id

问题很奇怪。我必须将 model.Id 存储在方法内的临时变量中,然后将临时变量用于 lambda 表达式以使其工作。