예제 #1
0
        public void Save <TEntity>(Expression <Func <TEntity, object> > primaryKeyExpression, params TEntity[] entities) where TEntity : class
        {
            WorklogDBEntities    context     = this._entities;
            DbSet <TEntity>      dbSet       = this.GetDbSet <TEntity>();
            DbContextTransaction transaction = context.Database.BeginTransaction();

            try
            {
                for (int index = 0; index < entities.Count(); index++)
                {
                    TEntity entity = entities[index];

                    //UTCDateTimeKindAttribute.Apply(entity);

                    dbSet.AddOrUpdate(primaryKeyExpression, entity);
                }

                context.SaveChanges();
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();

                throw ex;
            }
        }
예제 #2
0
        public EFRepository()
        {
            this._entities = new WorklogDBEntities();

            //Hook UTC resolver
            //((IObjectContextAdapter)this._entities).ObjectContext.ObjectMaterialized +=
            //    (sender, e) => UTCDateTimeKindAttribute.Apply(e.Entity);
        }