Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
C# 使用linq和mongodb在用户指定的日期之间选择文档_C#_Linq_Mongodb_Datetime_Mongodb .net Driver - Fatal编程技术网

C# 使用linq和mongodb在用户指定的日期之间选择文档

C# 使用linq和mongodb在用户指定的日期之间选择文档,c#,linq,mongodb,datetime,mongodb-.net-driver,C#,Linq,Mongodb,Datetime,Mongodb .net Driver,我是MongoDB的新手,遇到了一个查询问题。查询尝试查找两个日期时间值之间的所有文档。我以前能够使用不同的数据库模式运行类似的查询并获得所需的结果。通过对我当前的数据库模式应用相同的查询,查询无法工作。 查询如下: var query = ( from t in rdb.TimeStampsCollection.AsQueryable() where t.dt > lowDat

我是MongoDB的新手,遇到了一个查询问题。查询尝试查找两个日期时间值之间的所有文档。我以前能够使用不同的数据库模式运行类似的查询并获得所需的结果。通过对我当前的数据库模式应用相同的查询,查询无法工作。 查询如下:

            var query =
            (
                from t in rdb.TimeStampsCollection.AsQueryable()
                where t.dt > lowDate && t.dt < highDate
                select t.rbt_List 
            );

正如本文开头所提到的,我之前已经能够通过设置DateTime值获得所需的结果,如上所示。但是,在我当前的数据库结构中,这不起作用

所以可能有更好的方法来解决这个问题,但这对我来说是个好办法

        DateTime ownLow = new DateTime(2015, 3, 28, 21, 28, 13, 0);
        DateTime ownHigh = new DateTime(2015, 3, 28, 21, 28, 20, 0);

        string stringLow = ownLow.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");
        string stringHigh = ownHigh.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");

        DateTime lowDate = Convert.ToDateTime(stringLow);
        DateTime highDate = Convert.ToDateTime(stringHigh);
为了让这个查询正常工作,我必须创建DateTime,将其解析为字符串,然后将其转换回DateTime值

// Not working
DateTime lowDate = new DateTime(2015,3,26,22,27,0);
DateTime highDate = new DateTime(2015,3,26,22,30,0);

//working
DateTime lowDate = DateTime.Now.AddMinutes(-10);
DateTime highDate = DateTime.Now.AddMinutes(-1);
        DateTime ownLow = new DateTime(2015, 3, 28, 21, 28, 13, 0);
        DateTime ownHigh = new DateTime(2015, 3, 28, 21, 28, 20, 0);

        string stringLow = ownLow.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");
        string stringHigh = ownHigh.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");

        DateTime lowDate = Convert.ToDateTime(stringLow);
        DateTime highDate = Convert.ToDateTime(stringHigh);