【发布时间】:2015-04-09 21:15:36
【问题描述】:
我有一个包含大约 500 个属性的 C# 对象,其中一些是复杂类型。 Json 文档是通过 XML 导入的,它可以 100% 工作。我还可以查询集合并成功将 Json 文档序列化为 C# 对象。问题是当我对对象进行更改并使用 collection.Save(object);它为所有 C# 属性创建 Json 属性,即使它们为 NULL,所以现在我的文档如下所示:
{
"_id" : "AA00001",
"Product" : {
"Reference" : "AA00001",
"Type" : "02",
"Code" : null,
"Property 1" : null,
"Property 2" : null,
"Property 3" : null,
.
.
.
}
C#保存之前的原始文档是这样的
{
"_id" : "AA00001",
"Product" : {
"Reference" : "AA00001",
"Type" : "02"
.
.
.
有没有办法告诉驱动程序不要保存空/空值?
谢谢。
【问题讨论】:
-
保存空值是因为模型看起来是这样的,如果您尝试从 MongoDB 加载与模型不匹配的数据,MongoDB 驱动程序将抛出异常.. 这是我的经验..
-
嗨,Martin,我的课程有 [IgnoreExtraElements] 属性,所以它只提取匹配的内容。
-
嘿,我发现有几十个问题询问您如何做。你也许可以通过回答他们来获得一些分数。我在做你在这里所做的事情时遇到了问题。我在一个类模型上有一个字段,它需要接受任何我可以扔给它的东西,但它似乎永远不会正确序列化。有什么建议吗?