Пример #1
0
        }//method

        public DbCommandInfo BuildCommand(DbSqlBuilder dbSqlBuilder, EntityCommand entityCommand)
        {
            switch (entityCommand.Kind)
            {
            case EntityCommandKind.SelectAll:
                return(dbSqlBuilder.BuildSelectAllCommand(entityCommand));

            case EntityCommandKind.SelectAllPaged:
                return(dbSqlBuilder.BuildSelectAllPagedCommand(entityCommand));

            case EntityCommandKind.SelectByKey:
                return(dbSqlBuilder.BuildSelectByKeyCommand(entityCommand));

            case EntityCommandKind.SelectByKeyArray:
                return(dbSqlBuilder.BuildSelectByKeyArrayCommand(entityCommand));

            case EntityCommandKind.SelectByKeyManyToMany:
                return(dbSqlBuilder.BuildSelectManyToManyCommand(entityCommand));

            case EntityCommandKind.Insert:
                return(dbSqlBuilder.BuildSqlInsertCommand(entityCommand));

            case EntityCommandKind.Update:
            case EntityCommandKind.PartialUpdate:
                return(dbSqlBuilder.BuildSqlUpdateCommand(entityCommand));

            case EntityCommandKind.Delete:
                return(dbSqlBuilder.BuildSqlDeleteCommand(entityCommand));

            default:
                // it is custom command - should be compiled on the fly
                return(null);
            }
        }
Пример #2
0
 public DbModel Build()
 {
     // create model
     _dbModel      = new DbModel(_entityModel.App, _config);
     _dbSqlBuilder = _driver.CreateDbSqlBuilder(_dbModel);
     _driver.OnDbModelConstructing(_dbModel);
     BuildTables();
     CreateTableKeys();
     SetupOrderBy();
     //ref constraints are created in a separate loop, after creating PKs
     BuildRefConstraints();
     CheckObjectNames();
     CompileViews();
     BuildCrudCommands();
     BuildSequences();
     _driver.OnDbModelConstructed(_dbModel);
     CheckErrors();
     return(_dbModel);
 }//method
Пример #3
0
        public List <T> Select <T>(string where, string orderby, int top, string[] fieldNames) where T : class, new()
        {
            if (!IsMappingToDbKey <T>())
            {
                throw new Exception("类型" + typeof(T).FullName + "没有映射到" + DbConfigDatabaseInfo.dbKey + "上");
            }
            var cmd = GetDbCommand();

            try
            {
                var sql = DbSqlBuilder.Select <T>(where, orderby, top, fieldNames);

                cmd.CommandText = sql;
                List <T> reval = cmd.ExecuteReader <T>();
                cmd.Dispose();

                return(reval);
            }
            catch (Exception ex)
            {
                cmd.Dispose();
                throw ex;
            }
        }
Пример #4
0
        public T Get <T>(object key) where T : class, new()
        {
            if (!IsMappingToDbKey <T>())
            {
                throw new Exception("类型" + typeof(T).FullName + "没有映射到" + DbConfigDatabaseInfo.dbKey + "上");
            }
            var cmd = GetDbCommand();

            try
            {
                var sql = DbSqlBuilder.SelectByKey <T>(key);

                cmd.CommandText = sql;
                List <T> reval = cmd.ExecuteReader <T>();
                cmd.Dispose();

                return(reval != null && reval.Count > 0 ? reval[0] : null);
            }
            catch (Exception ex)
            {
                cmd.Dispose();
                throw ex;
            }
        }