Оператор обновления не работает, Entity Framework установлен - PullRequest
0 голосов
/ 08 марта 2019
       #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), метод обновления не распознается. Ошибка:

"DbSet не содержит определения для" обновления "и нет метод расширения «Обновление», принимающий первый аргумент типа 'DbSet' может быть найден (вы пропустили директиву использования или ссылка на сборку?) "

Это та часть:

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 голосов
/ 08 марта 2019

Вместо этого вы можете попробовать этот код, убедитесь, что у вас есть новый экземпляр вашего контекста, иначе он покажет вам ошибку.

public IHttpActionResult PutAktivnost([FromBody] AktivnostEditVM aktivnost)
{
     db.Entry(aktivnost).State = System.Data.Entity.EntityState.Modified;
     db.SaveChanges();
     return Ok();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...