public static int UpdateItems(params object[] items) { using (FilamentContext ctx = new FilamentContext()) { if (ctx != null) { foreach (var item in items) { if (item is IEnumerable ts) { foreach (var ele in ts) { ctx.Entry(ele).State = EntityState.Modified; ctx.Update(ele); } } else { ctx.Entry(item).State = EntityState.Modified; ctx.Update(item); } } return(ctx.SaveChanges()); } else { return(-1); } } }
public static void UpdateSpec(VendorDefn vendorDefn) { using (FilamentContext context = new FilamentContext()) { if (context != null) { // flag the 'new' objects for added state SetDataItemsState(context, vendorDefn.SpoolDefns.Where(sd => sd.VendorDefnId == default), EntityState.Added); //foreach (var item in vendorDefn.SpoolDefns.Where(sd=>sd.VendorDefnId==default)) //{ // context.Entry<SpoolDefn>(item).State = EntityState.Added; //} // flag the 'modified' objects for modified state SetDataItemsState(context, vendorDefn.SpoolDefns.Where(sd => sd.IsModified && sd.VendorDefnId != default), EntityState.Modified); foreach (var sd in vendorDefn.SpoolDefns) { SetDataItemsState <InventorySpool>(context, sd.Inventory.Where(inv => inv.SpoolDefnId == default), EntityState.Added); SetDataItemsState <InventorySpool>(context, sd.Inventory.Where(inv => inv.IsModified && inv.SpoolDefnId != default), EntityState.Modified); foreach (var inv in sd.Inventory) { SetDataItemsState <DepthMeasurement>(context, inv.DepthMeasurements.Where(dm => dm.InventorySpoolId == default), EntityState.Added); SetDataItemsState <DepthMeasurement>(context, inv.DepthMeasurements.Where(dm => dm.InventorySpoolId != default && dm.IsModified), EntityState.Modified); } } //foreach(var item in vendorDefn.SpoolDefns.Where()) // context.Entry<SpoolDefn>(item).State= EntityState.Modified; context.Update(vendorDefn); context.SaveChanges(); } } }
public static void UpdateSpec(FilamentDefn filamentDefn) { using (FilamentContext ctx = new FilamentContext()) { if (ctx != null && filamentDefn.DensityAlias != null) { // flag the 'new' objects for added state SetDataItemsState(ctx, filamentDefn.DensityAlias.MeasuredDensity.Where(d => d.DensityAliasId == default), EntityState.Added); //ctx.Entry<MeasuredDensity>(item).State = EntityState.Added; // flag the 'modified' objects for modified state SetDataItemsState(ctx, filamentDefn.DensityAlias.MeasuredDensity.Where(d => d.DensityAliasId != default), EntityState.Modified); //foreach (var item in filamentDefn.DensityAlias)) //{ // ctx.Entry(item).State= EntityState.Modified; //} ctx.Update <FilamentDefn>(filamentDefn); ctx.SaveChanges(); } } }