我有一个简单的课程:
public class Foo
{
public ObjectId Id { get; set; }
public Dictionary<string, object> Bar { get; set; }
}
没有别的,没有自定义映射等。当我将它插入MongoDB时,它完美地工作,但Bar属性被忽略,但在插入时,它不是null。 我尝试添加[BsonDictionaryOptions]和[BsonElement],但这些没有效果。
答案 0 :(得分:1)
出于测试目的,我添加到了Foo类
[BsonDictionaryOptions]
public Dictionary<string, object> Bar = new Dictionary<string, object>() {
{ "1", new object() },
{ "2", new object() } };
当字典为空时 - 该字段为空,但当我们在其中发送数据时 - 它反映了插入的数据。
{
"_id" : ObjectId("56d9b9e4c875835548bc62de"),
"Bar" : {
"1" : {
},
"2" : {
}
}
}
当我们有:
public Dictionary<string, string> Bar =
new Dictionary<string, string>() { { "1", "text" }, { "2", "text" } };
然后输出:
&#34; _id&#34; :ObjectId(&#34; 56d9bb5ac875835548bc62df&#34;), &#34;酒吧&#34; :{ &#34; 1&#34; :&#34; text&#34;, &#34; 2&#34; :&#34; text&#34; }
答案 1 :(得分:1)
问题解决了:我无意中使用了自定义序列化程序。