Ric*_*ard 5 c# serialization mongodb
我是 MongoDB 的新手,我一直在认真阅读使用 MongoDB 2.2 和官方 C# 驱动程序的初学者指南http://www.codeproject.com/Articles/524602/Beginners-guide-to-using-MongoDB官
一切似乎都很顺利,除了我不确定如何处理 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; }
}
Run Code Online (Sandbox Code Playgroud)
这是连接到 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();
Run Code Online (Sandbox Code Playgroud)
“反序列化类的 LineItems 属性时发生错误......:反序列化类的 LaborHours 属性时发生错误......:无法从 BsonType Null 反序列化 Double。”
任何人都可以建议参考或不同的方法来处理空值吗?BsonString.Empty 会在这里帮助我吗?
public double? LaborHours { get; set; }
public double? Quantity { get; set; }
Run Code Online (Sandbox Code Playgroud)
允许我将空值传递到这些字段中。