是什么导致Entity Framework为基类创建表?

时间:2018-03-24 03:40:51

标签: ef-migrations xaf

我一直陷入为我的表声明一个抽象基类的陷阱,然后发现基类是由数据迁移创建的。

我知道不要在我不想要的表的上下文中创建DBSet

以下类不会导致BasicBo表创建

public abstract class BasicBo : IXafEntityObject  //, IObjectSpaceLink  we should just declare it when we really need it... mainly we want out business objects to be like POCOs 
{
    [Browsable(false)]
    [Key]
    public virtual int Id { get; set; }

    public virtual void OnCreated()
    {
    }

    public virtual void OnSaving()
    {
    }

    public virtual void OnLoaded()
    {
    }
}

但是,此类确实会导致创建BasicNodeBo

public abstract class BasicNodeBo : IXafEntityObject 
{
    [Browsable(false)]
    [Key]
    public virtual int Id { get; set; }

    public virtual int SiblingOrder { get; set; }
    public virtual string Sequence { get; set; }

    public virtual void RecalculateSequence()
    {
    }

    public virtual void AddDependency(IObjectSpace os, BasicNodeBo sibling)
    {
    }

    public virtual void OnCreated()
    {
    }

    public virtual void OnSaving()
    {
    }

    public virtual void OnLoaded()
    {
    }
}

1 个答案:

答案 0 :(得分:0)

我认为可能存在BasicNodeBo作为业务对象中的持久导航属性。