У меня есть следующий код, и я не могу добиться сохранения изменений. Параметр моего метода - это строка, содержащая RefCode продукта, который я хочу изменить в базе данных, затем запрос вытаскивает BaseProduct, который должен быть изменен. (Я попытался упростить код и установить его на английском языке, поэтому я, вероятно, ввел некоторые синтаксические ошибки, но в моем коде в режиме отладки я получаю всю информацию ОТ БД). Что-то не так с «select new» в запросе Linq?Простое обновление с Entity Framework
public static void UpdateProduct(ViewProduct productToUpdate)
{
using (var context = new my_Entities())
{
var BaseProduct = (from prod in context.Product
where prod.Ref == productToUpdate.BaseProduct.RefPrd
select new ViewBaseProduct
{
RefPrd = prod.Ref,
DescrPrd = prod.DescrPrd,
NormeCe = (bool)prod.NormeCE
}).FirstOrDefault();
if (BaseProduct != null)
{
//BaseProduct.NormeCe = false;
BaseProduct = productToUpdate.BaseProduct;
context.SaveChanges();
}
}
}
вы правы, ViewBaseProduct класс ViewModel. Я попробую то, что вы предлагаете, кажется таким очевидным сейчас ... – Bro
вот оно :) Спасибо Carlos! Когда я делал «select new ViewBaseProduct» в моем запросе Linq, я создавал объект, который не был «связан» с Enity, поэтому обновление этого объекта не могло повлиять на данные в базе данных. – Bro