Как обновить объект без контекстов данных

У вас нет заявления else, поэтому IDE говорит, что ...

Обновление кода:

private bool CheckDaysDiff(int daysDiff)
    {
        if (daysDiff >= 1)
        {
            return true;
        }
        else if (daysDiff == 0)
        {
            return true;
        } 
        else {
            return false;
        }
    }
9
задан Rui Jarimba 10 April 2013 в 08:30
поделиться

1 ответ

Необходимо присоединить объект объекта к контексту данных.

Также необходимо расширить контекст данных частичный класс с помощью метода AttachUpdeted. Как тогда, когда Вы присоединяете объект к контексту данных, он не знает, что обновления были сделаны. Код ниже скажет контексту данных, что каждое свойство было обновлено и должно быть записано в базу данных.

public static void Save(EntityObject entity)
{
   using(MyContext ctx = new MyContext)
   {
     ctx.AttachUpdated(entity);
     ctx.SaveChanges();
   }  
} 

public static void AttachUpdated(this ObjectContext obj, EntityObject objectDetached)
{
   if (objectDetached.EntityState == EntityState.Detached)
   {
      object original = null;
      if (obj.TryGetObjectByKey(objectDetached.EntityKey, out original))
         obj.ApplyPropertyChanges(objectDetached.EntityKey.EntitySetName, objectDetached);
      else
       throw new ObjectNotFoundException();
    }
} 

статья 1
статья 2

12
ответ дан 3 November 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: