Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB c#LINQ生成的查询_C#_Mongodb - Fatal编程技术网

MongoDB c#LINQ生成的查询

MongoDB c#LINQ生成的查询,c#,mongodb,C#,Mongodb,如何从LINQ查询中获取生成的查询? 我试过这个,但没用: var query = ( from d in mcollection.AsQueryable<InstrumentationDocument>() where d.user == User && d.timestamp > DateTime.Today.AddDays(-days) orderby d.timestamp desc

如何从LINQ查询中获取生成的查询? 我试过这个,但没用:

var query = (
            from d in mcollection.AsQueryable<InstrumentationDocument>()
            where d.user == User && d.timestamp > DateTime.Today.AddDays(-days)
            orderby d.timestamp descending
            select new
            {
                d.timestamp,
                d.machine,
                d.processID,
                feature = d.info["feature"].AsString,
                extra = d.info.Contains("extra") ? d.info["extra"].ToJson() : ""
            }
);

var mongoQuery = ((MongoQueryable<InstrumentationDocument>)query).GetMongoQuery();

var json = mongoQuery.ToJson();

您需要从代码中删除.ToArray()。当前,查询不是一个MongoQuery实例。它是一个匿名类型数组。因此,您对MongoQueryable的强制转换不应该工作。

您需要从代码中删除.ToArray()。当前,查询不是一个MongoQuery实例。它是一个匿名类型数组。因此,您对MongoQueryable的转换不应该工作。

在最新版本的MongoDB(v2.6)中更简单,只需在LINQ查询上调用
.ToJson()
,然后将查询字符串打印到控制台

string queryTextSentToMongoDb = query.ToJson();

在最新版本的MongoDB(v2.6)中更简单,只需在LINQ查询上调用
.ToJson()
,然后将查询字符串打印到控制台

string queryTextSentToMongoDb = query.ToJson();

您是在
mongoQuery.ToJson()
上设置断点来读取此表达式的值,还是将其写入日志/控制台?从您的代码示例来看,您似乎没有得到查询,因为没有可读取的变量,也没有在任何地方写入它。您可以发布什么是查询吗?除非我们掌握了所有详细信息,否则我们无法真正帮助您。您是在
mongoQuery.ToJson()
上设置断点来读取此表达式的值,还是将其写入日志/控制台?从您的代码示例来看,您似乎没有得到查询,因为没有可读取的变量,也没有在任何地方写入它。您可以发布什么是查询吗?除非我们有所有的细节,否则我们真的帮不了你。谢谢。实际上,我的代码中没有ToArray。问题似乎实际上是在最后向annonymous类型new{}的投影。该类型不是InstrumentationDocument,因此无法将查询强制转换为MongoQueryAble谢谢。实际上,我的代码中没有ToArray。问题似乎实际上是在最后向annonymous类型new{}的投影。该类型不是InstrumentationDocument,因此无法将查询强制转换为MongoQueryableReally?因为我认为这会导致执行查询,而ToJson()是查询的实际结果,而不是发送到MongoDbReally的查询的定义?因为我认为这会导致执行查询,而ToJson()是查询的实际结果,而不是发送到MongoDb的查询的定义