Как сделать изменения в базе с помощью Entity Framework?

Рейтинг: -1Ответов: 2Опубликовано: 19.10.2014

Я новичок в мире EF. Сделал подключение к базе данных по принципу Database First. Мне необходимо найти все вхождения "ул " в поле Школы.Адрес и заменить на "ул.". Я роде это сделал:

var context = new SchoolEntities();
foreach (var school in context.Школы)
{
  school.Адрес = school.Адрес.Replace("ул ", "ул.");
}
context.SaveChanges();

Но выходит вот такая ошибка:

Исключение типа "System.Data.Entity.Infrastructure.DbUpdateException" возникло в EntityFramework.dll, но не было обработано в коде пользователя

Дополнительные сведения: Unable to update the EntitySet 'Школы' because it has a DefiningQuery and no <UpdateFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.

Ответы

▲ 2Принят

вместо

school.Адрес.Replace("ул ", "ул.");

напишите

school.Адрес = school.Адрес.Replace("ул ", "ул.");

и не забудьте про сохранение изменений в контексте

▲ 1

context.SaveChanges();