Ejemplo n.º 1
0
        public static EntityEntry <E> UpdateDefault <E>(this IBaseDbContext dbContext, E entity, Action <E> patchAction)
            where E : class
        {
            EntityEntry <E> entry;

            dbContext.TryAttach(entity, out entry);

            patchAction(entity);

            return(entry);
        }
Ejemplo n.º 2
0
        public static async Task <EntityEntry <E> > UpdateAsyncDefault <E>(this IBaseDbContext dbContext,
                                                                           E entity, Func <E, Task> patchAction)
            where E : class
        {
            EntityEntry <E> entry;

            dbContext.TryAttach(entity, out entry);

            await patchAction(entity);

            return(entry);
        }
Ejemplo n.º 3
0
        public static EntityEntry <E> UpdateDefault <E>(this IBaseDbContext dbContext,
                                                        E entity, params Expression <Func <E, object> >[] changedProperties)
            where E : class
        {
            EntityEntry <E> entry;

            dbContext.TryAttach(entity, out entry);

            if (changedProperties?.Any() == true)
            {
                foreach (var property in changedProperties)
                {
                    entry.Property(property).IsModified = true;
                }
            }
            else
            {
                return(dbContext.Update(entity));
            }

            return(entry);
        }