Mongo DB C#驱动程序-如何在没有属性的情况下定义复合ID?

时间:2019-05-05 09:05:36

标签: c# mongodb mongodb-.net-driver composite-key mongodb-csharp-2.0

我需要在一个现有类(MyClass)上定义一个复合键(_id),该键由2个类属性组成:Id和Version。 另外,由于我无法更改类代码,因此必须通过BsonClassMap API(而不是属性属性)来完成。

我尝试过类似的操作,但是对SetIdMember()的第二次调用只会覆盖第一个调用,并且不会将其添加到键中:

        BsonClassMap.RegisterClassMap<MyClass>(cm =>
        {
            cm.AutoMap();
            cm.SetIgnoreExtraElements(true);
            cm.SetIdMember(cm.GetMemberMap(t => t.Id));
            cm.SetIdMember(cm.GetMemberMap(t => t.Version)); // after this line, the ID seems to be just Version and not Id+Version
        });

0 个答案:

没有答案