2016-08-03 15 views
0

我是新来的MongoDB,我已经通过了初学者指南被宗教苦读使用MongoDB的2.2和官方的C#驱动http://www.codeproject.com/Articles/524602/Beginners-guide-to-using-MongoDB-and-the-officC#和MongoDB - 无法从BsonType空反序列化

似乎一切都进展顺利,但我不知道如何处理的MongoDB Null值

这是我的数据结构

public class DataStructure 
{ 
    public ObjectId _id { get; set; } 
    public DateTime CreatedOn { get; set; } 
    public DateTime UpdatedOn { get; set; } 
    public string ClaimId { get; set; } 
    public string Status { get; set; } 
    public string FmcCity { get; set; } 
    public string FmcState { get; set; } 
    public Int32 TestType { get; set; } 
    public List<LineItemStructure> LineItems { get; set; } 
} 

public class LineItemStructure 
{ 
    public string LineItemDescription { get; set; } 
    public string LineItemType { get; set; } 
    public string PartNumber { get; set; } 
    public double LaborHours { get; set; } 
    public double Quantity { get; set; } 
} 

这是连接到MongoDB的和拉回值的代码,直到遇到一个空字段值并返回呃下面

 var client = new MongoClient(connectionString); 
     MongoServer server = client.GetServer(); 
     var database = server.GetDatabase("FleetClaims"); 
     MongoCollection< DataStructure> collection = database.GetCollection<DataStructure>("Claims"); 
     //Execute the query 
     MongoCursor< DataStructure> results = collection.FindAll(); 

ROR“反序列化 类的了LineItem属性...发生错误:反序列化 类的LaborHours财产...发生错误:无法序列化从BsonType空双。”

任何人都可以提出一个参考或不同的方法来处理空值? BsonString.Empty会帮助我吗?

回答

1
public double? LaborHours { get; set; } 
public double? Quantity { get; set; } 

允许我将空值传递到这些字段。