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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Linq 来自bson的MongoDB返回列表_Linq_Mongodb_Mongodb .net Driver_Bson - Fatal编程技术网

Linq 来自bson的MongoDB返回列表

Linq 来自bson的MongoDB返回列表,linq,mongodb,mongodb-.net-driver,bson,Linq,Mongodb,Mongodb .net Driver,Bson,在下面的代码中,我正在查询我的数据库以查找specifik\u id,该部分工作正常。现在的问题是,我需要以某种方式在wpf数据网格中返回结果。我通常使用列表和字典来处理这类事情,但这在这里不起作用 public List<MongoDBModel> MongoDBMeterInfo() { var connectionString = "mongodb://localhost"; var mongoClient = n

在下面的代码中,我正在查询我的数据库以查找specifik\u id,该部分工作正常。现在的问题是,我需要以某种方式在wpf数据网格中返回结果。我通常使用列表和字典来处理这类事情,但这在这里不起作用

public List<MongoDBModel> MongoDBMeterInfo()
        {
            var connectionString = "mongodb://localhost";
            var mongoClient = new MongoClient(connectionString);
            var mongoServer = mongoClient.GetServer();
            var databaseName = "PointToPoint";
            var db = mongoServer.GetDatabase(databaseName);
            var mongodb = db.GetCollection<MongoDBModel>("OCS.MeterEntity");
            var mongodbQuery = Query<MongoDBModel>.EQ(x => x._id, CurrentMeter.MeterUID);
            var found = mongodb.FindOne(mongodbQuery);
        } 

[BsonIgnoreExtraElements]
    public class MongoDBModel
    {
        [BsonElement("_id")]
        public string _id { get; set; }
        [BsonElement("EncryptionKey")]
        public string EncryptionKey {get; set;}
        [BsonElement("DataTemplateKey")]
        public string DataTemplateKey { get; set; }
        [BsonElement("LoggerReadsPerDay")]
        public Int64 LoggerReadsPerDay { get; set; }
        [BsonElement("ListType")]
        public int ListType { get; set; }
        [BsonElement("IpAddress")]
        public string IpAddress { get; set; }
        [BsonElement("ReadMode")]
        public Boolean ReadMode { get; set; }
        [BsonElement("DefaultStartTimeStampUtc")]
        public string DefaultStartTimeStampUtc { get; set; }
        [BsonElement("LastSetTime")]
        public DateTime LastSetTime { get; set; }
        [BsonElement("LastReadGSMdata")]
        public DateTime LastReadGSMdata { get; set; }
        [BsonElement("DialBackPort")]
        public int DialBackPort { get; set; }
        [BsonElement("CID")]
        public int CID { get; set; }
        [BsonElement("ActiveFirmwareUpgrade")]
        public string ActiveFirmwareUpgrade { get; set; }
        [BsonElement("QueuedFirmwareUpgrade")]
        public string QueuedFirmwareUpgrade { get; set; }
        [BsonElement("DeviceAcceptedFirmwareActivationMessageOnLastConnect")]
        public Boolean DeviceAcceptedFirmwareActivationMessageOnLastConnect { get; set; }
        [BsonElement("WasConnectionLostLastTime")]
        public Boolean WasConnectionLostLastTime { get; set; }
    }
public List MongoDBMeterInfo()
{
变量连接字符串=”mongodb://localhost";
var mongoClient=新的mongoClient(connectionString);
var mongoServer=mongoClient.GetServer();
var databaseName=“PointToPoint”;
var db=mongoServer.GetDatabase(databaseName);
var mongodb=db.GetCollection(“OCS.MeterEntity”);
var mongodbQuery=Query.EQ(x=>x.\u id,CurrentMeter.MeterUID);
var found=mongodb.FindOne(mongodbQuery);
} 
[BsonIgnoreExtraElements]
公共类MongoDBModel
{
[b单一元素(“_id”)]
公共字符串_id{get;set;}
[BsonElement(“加密密钥”)]
公共字符串加密密钥{get;set;}
[BSoneElement(“DataTemplateKey”)]
公共字符串DataTemplateKey{get;set;}
[BsonElement(“LoggerReadsPerDay”)]
公共Int64 LoggerReadsPerDay{get;set;}
[b单一元素(“列表类型”)]
公共int列表类型{get;set;}
[b单一元素(“IP地址”)]
公共字符串IpAddress{get;set;}
[b单一元素(“读取模式”)]
公共布尔读取模式{get;set;}
[BsonElement(“DefaultStartTimeStampUtc”)]
公共字符串DefaultStartTimeStampUtc{get;set;}
[BsonElement(“LastSetTime”)]
公共日期时间LastSetTime{get;set;}
[BsonElement(“LastReadGSMdata”)]
公共日期时间LastReadGSMdata{get;set;}
[BsonElement(“回拨端口”)]
public int DialBackPort{get;set;}
[b单一元素(“CID”)]
公共int-CID{get;set;}
[b单一元素(“ActiveFirmwareUpgrade”)]
公共字符串ActiveFirmwareUpgrade{get;set;}
[BsonElement(“QueuedFirmwareUpgrade”)]
公共字符串QueuedFirmwareUpgrade{get;set;}
[BSoneElement(“DeviceAcceptedFirmwareActivationMessageOnLastConnect”)]
公共布尔设备AcceptedFileWareActivationMessageOnLastConnect{get;set;}
[b单一元素(“WasConnectionLostLastTime”)]
公共布尔值WasConnectionLostLastTime{get;set;}
}

我该怎么做才能让它工作呢?:)

另一方面,我希望这不是“生产”代码——也就是说,每次调用该方法时,您都不会创建mongo客户端,是吗?我是否遗漏了一些东西。。。您正在返回一个列表,但正在查询FindOne(在id上)