是否可以将继承的Id字段的表示从 BsonType.ObjectId 更改为 BsonType.String ?
public class BaseClass
{
public string Id { get; set; }
}
public class MyClass : BaseClass
{
}
我试过这种方法,但它没有用。
BsonClassMap.RegisterClassMap<BaseClass>(cm =>
{
cm.AutoMap();
var id = cm.GetMemberMap(c => c.Id);
cm.SetIdMember(id);
cm.IdMemberMap.SetRepresentation(BsonType.ObjectId);
});
BsonClassMap.RegisterClassMap<MyClass>(cm =>
{
cm.AutoMap();
var idMember = cm.IdMemberMap; // idMember is null
idMember.SetRepresentation(BsonType.String);
});
非常感谢。
答案 0 :(得分:0)
不,这是不可能的。派生类不能更改其基类中字段的表示形式。派生类当然可以完全控制他们希望序列化 字段的方式。