我正在通过传递给一个类的构造函数来处理cosmos db查询的结果:
public Session GetASession()
{
IDocumentQuery<dynamic> query = database.Client.CreateGremlinQuery<dynamic>(database.Graph, $"g.V()");
var session = new Data(query.ExecuteNextAsync().Result.FirstOrDefault());
return session;
}实现哪个Session类如下所示:
public Class Session
{
dynamic graphson;
public Session(dynamic graphson)
{
this.graphson = graphson;
}
public string Id
{
get
{
return (string)graphson.id;
}
set
{
graphson.id = value;
}
}
}问题是在调用GetASession函数时,虽然查询从db获取了一些会话,但返回的会话中的Id不可用,并且以这种方式获取错误。因此,问题是问题出在哪里?
发布于 2017-08-30 15:04:48
因为我发现查询返回的对象是弱引用对象,所以如果我们不把它赋给一个变量,它就会被释放。因此,解决方案是:
public Session GetASession()
{
IDocumentQuery<dynamic> query = database.Client.CreateGremlinQuery<dynamic>(database.Graph, $"g.V()");
var result = query.ExecuteNextAsync().Result.FirstOrDefault();
var session = new Data(result); // this solves the problem
return session;
}https://stackoverflow.com/questions/45954050
复制相似问题