更新语句不起作用,已安装实体框架

时间:2019-03-08 17:09:49

标签: c# entity-framework

       #region PutAktivnost
    [HttpPut]
    [ResponseType(typeof(Aktivnost))]
    [Route("api/Aktivnosti/PutAktivnost/{aktivnost}")]
    public IHttpActionResult PutAktivnost([FromBody] AktivnostEditVM aktivnost)
    {

        Aktivnost put=db.Aktivnost.Where(a => a.AktivnostID == aktivnost.AktivnostId).FirstOrDefault();
        put.Naziv=aktivnost.naziv;
        db.Aktivnost.Update(put);
        db.SaveChanges();
        return Ok();

    }
    #endregion

我真的需要这方面的帮助。一切都很好,但是当我写db.Aktivnost.Update(put)时,无法识别Update方法。错误是:

  

“ DbSet不包含“更新”的定义,并且没有   扩展方法'Update'接受类型的第一个参数   可以找到'DbSet'(您是否缺少using指令   或程序集引用?)”

这是那部分:

public partial class MoneySaverEntities : DbContext
{
    public MoneySaverEntities()
        : base("name=MoneySaverEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public virtual DbSet<Aktivnost> Aktivnost { get; set; }
    public virtual DbSet<AutorizacijskiToken> AutorizacijskiToken { get; set; }
    public virtual DbSet<Korisnik> Korisnik { get; set; }
    public virtual DbSet<Trosak> Trosak { get; set; }
}

有什么需要的吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码,请确保您具有上下文的新实例,否则它将显示错误。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))