DbSet <xxx>'не содержит определения «Обновление» и недоступного метода расширения «Обновление» - PullRequest
0 голосов
/ 28 мая 2019

вот мой блок кода

 foreach(var n in animalbirdAdoptionDetails)
 {
    int animalBirdsId = n.AnimalsAndBirdsId;
    int NoAnimal =  Convert.ToInt32(n.NoAnimalsAdopted);
    n.isActive = false;
    context.NameOfAnimalsAndBirds.Update(e2 => new entity 
                     { 
                         quantity = e2.quantity + moreQuantity
                     });
    context.SaveChanges();

  }

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

Ответы [ 2 ]

1 голос
/ 28 мая 2019

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

Если вы хотите обновить существующие записи, вам нужно извлечь существующую запись по ссылке первичного ключа или по любой другой ссылке на поле таблицы. и присвоить новое значение полям таблицы.

Например.

foreach(var n in animalbirdAdoptionDetails)
{
    // remove unwanted variables and casting expression.
    // if not required then.
    int animalBirdsId = n.AnimalsAndBirdsId;
    int NoAnimal =  Convert.ToInt32(n.NoAnimalsAdopted);
    n.isActive = false;

    // Retrieve existing record
    var entity = context.NameOfAnimalsAndBirds.FirstOrDefault(x => x.Id == n.Id);

    // assign new value to existing property.
    entity.quantity = entity.quantity + moreQuantity;

    // in last just apply save changes.
    context.SaveChanges();
}

Примечание: приведенный выше код только для демонстрации. всегда рекомендуется обновлять сразу все объекты и применять изменения сохранения (вне цикла).

0 голосов
/ 28 мая 2019
foreach(var n in animalbirdAdoptionDetails)
{
   int animalBirdsId = n.AnimalsAndBirdsId;
   int NoAnimal =  Convert.ToInt32( n.NoAnimalsAdopted);
   n.isActive = false;

   // Retrieve existing record into your model class
   NameOfAnimalsAndBird model = context.NameOfAnimalsAndBirds.Find(n.Id);

    model.quantity = model.quantity + moreQuantity;  
    context.SaveChanges();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...