Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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# 如何使用BsonClassMap配置ObjectId数组的表示?_C#_.net_Mongodb_Serialization_Bson - Fatal编程技术网

C# 如何使用BsonClassMap配置ObjectId数组的表示?

C# 如何使用BsonClassMap配置ObjectId数组的表示?,c#,.net,mongodb,serialization,bson,C#,.net,Mongodb,Serialization,Bson,考虑以下C类: 公共类角色 { 公共字符串Id{get;set;} 公共IEnumerable用户{get;set;} } 如何配置用户使用BsonClassMap.RegisterClassMap映射到MongoDB中的ObjectID数组?我能够配置标量属性Id映射到ObjectId,但不知道如何对序列(数组)执行相同的操作: BsonClassMap.RegisterClassMap(m=> { m、 MapIdProperty(r=>r.Id).SetRepresentation(Bs

考虑以下C类:

公共类角色
{
公共字符串Id{get;set;}
公共IEnumerable用户{get;set;}
}
如何配置用户使用
BsonClassMap.RegisterClassMap
映射到MongoDB中的ObjectID数组?我能够配置标量属性Id映射到ObjectId,但不知道如何对序列(数组)执行相同的操作:

BsonClassMap.RegisterClassMap(m=>
{
m、 MapIdProperty(r=>r.Id).SetRepresentation(BsonType.ObjectId);
//如何将r.用户映射到ObjectId数组??
m、 MapProperty(r=>r.Users);
});

答案是使用正确初始化的
数组序列化选项
对象调用
设置序列化选项

BsonClassMap.RegisterClassMap<Role>(m =>
    {
        m.MapIdProperty(r => r.Id).SetRepresentation(BsonType.ObjectId);
        m.MapProperty(r => r.Users).SetSerializationOptions(
                new ArraySerializationOptions(new
                        RepresentationSerializationOptions(BsonType.ObjectId)));
     });
BsonClassMap.RegisterClassMap(m=>
{
m、 MapIdProperty(r=>r.Id).SetRepresentation(BsonType.ObjectId);
m、 MapProperty(r=>r.Users).SetSerializationOptions(
新阵列序列化选项(新
RepresentationSerializationOptions(BsonType.ObjectId));
});
BsonClassMap.RegisterClassMap<Role>(m =>
    {
        m.MapIdProperty(r => r.Id).SetRepresentation(BsonType.ObjectId);
        // How do I map r.Users to an array of ObjectId??
        m.MapProperty(r => r.Users);
     });
BsonClassMap.RegisterClassMap<Role>(m =>
    {
        m.MapIdProperty(r => r.Id).SetRepresentation(BsonType.ObjectId);
        m.MapProperty(r => r.Users).SetSerializationOptions(
                new ArraySerializationOptions(new
                        RepresentationSerializationOptions(BsonType.ObjectId)));
     });