取消映射继承的MongoDB类成员

时间:2016-04-06 19:41:46

标签: c# mongodb sitecore

我正在努力在另一个API框架内将数据保存到MongoDB。我使用MongoDB C#驱动程序,MongoDB.Driver版本1.10.0.62。我的业务对象进入MongoDB的模型是:

public class CommentEntity : EntityIdentity
{
    [BsonId(IdGenerator = typeof(GuidGenerator))]
    public Guid CommentId
    {
        get;
        set;
    }

    public string FullName
    {
        get;
        set;
    }

    public string Message
    {
        get;
        set;
    }
}

在这种情况下,EntityIdentity是一个我必须继承的抽象类,因为我使用的框架和EntityIdentity碰巧已经有Id属性。由于Mongo默认使用Id作为其主要标识符,因此CommentId[BsonId]注释Id。 Mongo仍然试图从继承的抽象类中选择BsonClassMap.RegisterClassMap<CommentEntity>(comment => { comment.AutoMap(); comment.UnmapMember(c => c.Id); }); ,所以我试图像这样取消映射:

Sitecore.Services.Client

我得到的错误表明Mongo无法取消映射继承的成员:

  

memberInfo参数必须是针对类CommentEntity,但适用于类EntityIdentity。

我怎样才能做到这一点?

对于完整的上下文,我使用Sitecore.Services.Core@Html.EditorFor(model => model.Description, new { htmlAttributes = new { @class = "form-control" }, autofocus = "" }) 作为我的API框架。

0 个答案:

没有答案