Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MobgoDB自定义成员序列化程序_C#_Mongodb - Fatal编程技术网

C# MobgoDB自定义成员序列化程序

C# MobgoDB自定义成员序列化程序,c#,mongodb,C#,Mongodb,下面的例子只是一个例子。。。 我有一个用户类,它是bson文档。在写入数据库时,我希望成员UserInfo将Passport值作为对象写入 我需要一个自定义映射器/序列化程序,它将允许我指示mongo驱动程序使用Passport public class User{ public string Name{get;set;} public UserInfo Info<User> {get;set;} } public class Info<T>{ pub

下面的例子只是一个例子。。。 我有一个用户类,它是bson文档。在写入数据库时,我希望成员
UserInfo
Passport
值作为对象写入

我需要一个自定义映射器/序列化程序,它将允许我指示mongo驱动程序使用
Passport

public class User{
   public string Name{get;set;}
   public UserInfo Info<User> {get;set;}
}

public class Info<T>{
   public string Passport{get;set;}
}
而不是这个:

{Name : "my user name", UserInfo : {"Passport" :"41554545"}

谢谢

那它为什么要这么做呢?实际上,您定义了类以使用另一个类作为其成员属性。如果您希望将存储中的值序列化为普通字符串,那么首先不要将其映射到另一个类中。我的情况不同,而且要复杂得多,我已经对其进行了简化,以供社区理解。我认为这比复杂更容易被误导,至少在这里呈现的形式是这样。如果您开始以与实际数据存储“大不相同”的方式构造类,那么这将是一个滑向完全误解的斜坡。使用“面向文档的数据库”的部分好处在于,“存储/序列化”数据实际上可以与应用程序域中的类结构直接相关。当你改变的时候,你只是增加了不必要的复杂性。你用一个传统的“平面”表式存储,而不是一个文档/对象数据库来“摆弄”事情。我没有在体系结构方面寻求帮助,而是在一个特定的技术问题上寻求帮助。这是描述我的问题的最好方式。
{Name : "my user name", UserInfo : {"Passport" :"41554545"}