예제 #1
0
        private void ExecuteOperation(EntityState entityState, IEnumerable <TEntity> items)
        {
            using (var context = new PolitermUsers())
            {
                foreach (TEntity entity in items)
                {
                    context.Entry(entity).State = entityState;
                }

                context.SaveChanges();
            }
        }
예제 #2
0
        public virtual IList <TEntity> Create(IEnumerable <TEntity> items)
        {
            using (var context = new PolitermUsers())
            {
                DbSet <TEntity> set = context.Set <TEntity>();

                foreach (TEntity entity in items)
                {
                    set.Add(entity);
                }

                context.SaveChanges();
            }

            return(items.ToList());
        }
예제 #3
0
        public virtual IList <TEntity> GetAll(IEnumerable <Expression <Func <TEntity, object> > > navigationProperties)
        {
            IList <TEntity> list;

            using (var context = new PolitermUsers())
            {
                IQueryable <TEntity> dbQuery = context.Set <TEntity>();

                foreach (Expression <Func <TEntity, object> > navigationProperty in navigationProperties)
                {
                    dbQuery = dbQuery.Include(navigationProperty);
                }

                list = dbQuery.AsNoTracking().ToList();
            }

            return(list);
        }
예제 #4
0
        public virtual TEntity GetItem(Func <TEntity, bool> where, IEnumerable <Expression <Func <TEntity, object> > > navigationProperties)
        {
            TEntity entity = null;

            using (var context = new PolitermUsers())
            {
                IQueryable <TEntity> dbQuery = context.Set <TEntity>();

                foreach (Expression <Func <TEntity, object> > navigationProperty in navigationProperties)
                {
                    dbQuery = dbQuery.Include(navigationProperty);
                }

                entity = dbQuery.AsNoTracking().FirstOrDefault(where);
            }

            return(entity);
        }
예제 #5
0
        public BaseDto GetDatabaseData()
        {
            try
            {
                StringBuilder sb = new StringBuilder();

                DatabaseDto databaseDto = new DatabaseDto();
                databaseDto.SourceName = "PolitermUsers";

                sb.Append("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES ");
                sb.Append("WHERE TABLE_NAME NOT LIKE '__MigrationHistory' ");
                sb.Append("ORDER BY(TABLE_NAME)");

                List <string> tableNames;

                using (PolitermUsers db = new PolitermUsers())
                {
                    tableNames = db.Database.SqlQuery <string>(sb.ToString()).ToList();
                    sb.Clear();

                    foreach (var tableName in tableNames)
                    {
                        sb.AppendLine("SELECT COLUMN_NAME ");
                        sb.AppendLine("FROM INFORMATION_SCHEMA.COLUMNS ");
                        sb.AppendFormat("WHERE TABLE_NAME = '{0}'", tableName);

                        databaseDto.Tables.Add(new TableDto
                        {
                            TableName   = tableName,
                            ColumnNames = db.Database.SqlQuery <string>(sb.ToString()).ToList()
                        });

                        sb.Clear();
                    }
                }

                return(databaseDto);
            }
            catch (Exception ex)
            {
                throw new FaultException <Exception>(ex, ex.Message);
            }
        }