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
Mongodb集合映射c#_C#_Mongodb_Collections_Configuration_Mapping - Fatal编程技术网

Mongodb集合映射c#

Mongodb集合映射c#,c#,mongodb,collections,configuration,mapping,C#,Mongodb,Collections,Configuration,Mapping,我以前使用过NHibernate开发应用程序,因此这将是我第一次使用mongodb和c#驱动程序开发应用程序 在NHibernate中,可以设置配置文件以将类映射到表。这样做允许我将不同的具体类映射到不同的表 然后,可以在另一个应用程序中使用相同的c代码和不同的配置文件。在指定了不同的映射之后,将从不同的表中写入和检索对象 所有多态映射都与配置隔离,因此数据库管理类可以将接口作为参数(消除了我管理INSERT命令的负担) 对于Mongodb,我正在努力寻找类似的解决方案。大多数示例使用硬编码名称

我以前使用过NHibernate开发应用程序,因此这将是我第一次使用mongodb和c#驱动程序开发应用程序

在NHibernate中,可以设置配置文件以将类映射到表。这样做允许我将不同的具体类映射到不同的表

然后,可以在另一个应用程序中使用相同的c代码和不同的配置文件。在指定了不同的映射之后,将从不同的表中写入和检索对象

所有多态映射都与配置隔离,因此数据库管理类可以将接口作为参数(消除了我管理INSERT命令的负担)

对于Mongodb,我正在努力寻找类似的解决方案。大多数示例使用硬编码名称检索集合以允许读/写

mongodb c#驱动程序中是否有一种解决方案允许我将映射与代码隔离

如果我不能做到以上几点,我可以将一些属性放在具体的类中,将读写转移到不同的集合中


注意:我需要避免在一个集合中写入所有数据

为什么需要避免将相同objecttype的数据写入同一集合?在我看来,这更像是一个设计问题。当我在开发过程中扩展我的类时,我更愿意将数据隔离。其他应用程序将只关注类的一个子部分,因此我不希望它们访问拥有所有内容的集合。新应用程序对使用的数据不感兴趣您有两个选项:使用引用(ID等)创建不同的对象,或将其全部保存在一个集合中