我的 mongo 域对象有继承:
public abstract class Entity : IEntity
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
[BsonIgnore]
public abstract string CollectionName { get; }
}
[BsonDiscriminator(Required = true)]
[BsonKnownTypes(typeof(Sub1), typeof(Sub2), typeof(Sub3))]
public class Main:Entity
{
public string Name {get; set;}
public string Address {get; set;}
}
[BsonDiscriminator(SubType.Sub1)]
public class Sub1: Main, IWorkAttached
{}
[BsonDiscriminator(SubType.Sub2)]
public class Sub2: Main, IWorkAttached
{}
[BsonDiscriminator(SubType.Sub3)]
public class Sub3: Main
{}
public interface IWorkAttached
{
public string WorkId {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我有更新实体的方法: …