MongoDB C# 驱动程序插入动态实体
MongoDB C# Driver Insert Dynamic Entity
我正在构建 ASP.NET Web API 并使用 MongoDB 存储数据。
某些属性在 class 处应该是动态的,如下所示
public class SampleModel
{
public dynamic Config { get; set; }
public string Name {get; set; }
}
JObject 也被用来代替 dynamic。
无法正确插入此对象。
之后我尝试使用 BSonDocument 属性 而不是 dynamic/JOject。
它正在工作,但我必须将 class 与 Jobject 一起使用,同时在控制器上反序列化数据并将属性一个一个地复制到另一个 class 与 BSonDocument.
我不想复制属性等。我需要更多的动态结构。
应该有正确的方法,但我找不到。
我正在使用 Newtonsoft JsonConvert.DeserializeObject 方法在控制器上反序列化输入参数。
在调试模式下检查了反序列化对象,似乎没问题。
将反序列化的对象插入 MongoDb 后,它似乎已损坏,如上所示。
为了解决这个问题,创建了自定义序列化程序,SerializerBase class Serialize 和 Deserialize 方法被覆盖。
也许还有其他解决方案,但我是这样解决的。
我正在构建 ASP.NET Web API 并使用 MongoDB 存储数据。
某些属性在 class 处应该是动态的,如下所示
public class SampleModel
{
public dynamic Config { get; set; }
public string Name {get; set; }
}
JObject 也被用来代替 dynamic。
无法正确插入此对象。
之后我尝试使用 BSonDocument 属性 而不是 dynamic/JOject。 它正在工作,但我必须将 class 与 Jobject 一起使用,同时在控制器上反序列化数据并将属性一个一个地复制到另一个 class 与 BSonDocument.
我不想复制属性等。我需要更多的动态结构。 应该有正确的方法,但我找不到。
我正在使用 Newtonsoft JsonConvert.DeserializeObject 方法在控制器上反序列化输入参数。
在调试模式下检查了反序列化对象,似乎没问题。
将反序列化的对象插入 MongoDb 后,它似乎已损坏,如上所示。
为了解决这个问题,创建了自定义序列化程序,SerializerBase class Serialize 和 Deserialize 方法被覆盖。
也许还有其他解决方案,但我是这样解决的。