public static void Update <TEntity>(this EFSMSDbContext context, TEntity entity) where TEntity : class { // Здесь мы можем указывать различные настройки контекста, // например выводить в отладчик сгенерированный SQL-код //context.Database.Log = // (s => System.Diagnostics.Debug.WriteLine(s)); context.Entry(entity).State = EntityState.Modified; }
public UZ_Data Refresh(UZ_Data item) { try { db.Entry(item).State = EntityState.Detached; return(db.Select <UZ_Data>(item.id)); } catch (Exception e) { Console.WriteLine(e); return(null); } }
public static TEntity Delete <TEntity>(this EFSMSDbContext context, long id) where TEntity : class { // Здесь мы можем указывать различные настройки контекста, // например выводить в отладчик сгенерированный SQL-код //context.Database.Log = // (s => System.Diagnostics.Debug.WriteLine(s)); TEntity item = context.Set <TEntity>().Find(id); if (item != null) { context.Entry <TEntity>(item).State = EntityState.Deleted; } return(item); }
/// <summary> /// Запись нескольких полей в БД /// </summary> public static void Inserts <TEntity>(this EFSMSDbContext context, IEnumerable <TEntity> entities) where TEntity : class { // Отключаем отслеживание и проверку изменений для оптимизации вставки множества полей context.Configuration.AutoDetectChangesEnabled = false; context.Configuration.ValidateOnSaveEnabled = false; //context.Database.Log = (s => System.Diagnostics.Debug.WriteLine(s)); foreach (TEntity entity in entities) { context.Entry(entity).State = EntityState.Added; } context.Configuration.AutoDetectChangesEnabled = true; context.Configuration.ValidateOnSaveEnabled = true; }