代码优先迁移种子在AddOrUpdate上失败

时间:2015-04-07 02:40:54

标签: entity-framework ef-code-first ef-migrations

当我尝试通过AddOrUpdate Migrations方法向Context添加新对象时,我将错误"对象引用未设置为对象的实例。"在更新数据库时在Package Console中。

所以,我尝试使用简单的Add而不是看起来有效。

这是我的实体类:

[Table("Sistema_TipoTela")]
public class TipoTela : TabelaBase
{
    public TipoTela() { }

    public TipoTela(int Codigo, string Descricao)
    {
        this.Codigo = Codigo;
        this.Descricao = Descricao;
    }

    public int Codigo { get; set; }
    public string Descricao { get; set; }
}

所以,使用这段代码我有错误:

var tipo = new TipoTela()
        {
            Codigo = 1,
            Descricao = "Teste"
        };

_db.Sistema_TelaTipo.AddOrUpdate(o => o.Codigo, tipo);

......或者这个:

_db.Sistema_TelaTipo.AddOrUpdate(tipo);

使用此代码即可:

var tipo = new TipoTela()
        {
            Codigo = 1,
            Descricao = "Teste"
        };

_db.Sistema_TelaTipo.Add(tipo);

但是,我需要使用AddOrUpdate来指定一个带有" Codigo"的数组。作为关键财产。

感谢您的帮助

修改1

忘了" TabelaBase" class有Id属性

0 个答案:

没有答案