小编Geo*_*off的帖子

如何使用BsonClassMap将POCO域对象属性映射为手动或DBRef引用?

使用BsonClassMap,是否可以映射域对象引用,同时保持域对象程序集持久无知(将public A Reference { get; set; }属性更改为下面public MongoDBRef Reference{ get; set; }的示例类B是不可接受的).

对于这种情况,引用的对象不是同一聚合的一部分,不应存储为嵌套文档.

是否可以在这样的关系中映射两个域对象:

public class A
{
    public Guid Id {get; private set; }
}

public class B
{
    public Guid Id { get; private set; }
    public A Reference { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

进入以下文档结构:

// Collection for class A
{ _id: "11111111-1111-1111-1111-111111111111" }

// Collection class B
{ 
    _id: "22222222-2222-2222-2222-222222222222",
    reference_id: "11111111-1111-1111-1111-111111111111"
}
Run Code Online (Sandbox Code Playgroud)

映射可能如下所示:

BsonClassMap.RegisterClassMap<A>(cm => 
{
    cm.MapIdProperty(c => c.Id)
        .SetIdGenerator(new …
Run Code Online (Sandbox Code Playgroud)

c# mongodb mongodb-.net-driver

5
推荐指数
1
解决办法
1683
查看次数

标签 统计

c# ×1

mongodb ×1

mongodb-.net-driver ×1