예제 #1
0
        private void GenerateInsertStatement(object parameters)
        {
            var columns = new List <string>();
            var values  = new List <string>();

            foreach (var propInfo in parameters.GetType().GetProperties().Where(x => x.Name != "Id").OrderBy(x => x.Name))
            {
                var name  = propInfo.Name;
                var value = propInfo.GetValue(parameters, null);

                var paramterName = AddParameter(name, value);

                columns.Add($"[{name}]");
                values.Add($"@{paramterName}");
            }

            AddLine($"INSERT INTO {TableNameHelper.GenerateTableName<TClass>()} ({string.Join(",", columns.ToArray())}) ");
            AddLine($"VALUES ({string.Join(",", values.ToArray())})");
            AddLine("SELECT CAST(SCOPE_IDENTITY() AS INT)");
        }
예제 #2
0
        public SelectBuilder(IDbConnection dbConnection)
        {
            _dbConnection = dbConnection;

            AddLine($"SELECT * FROM {TableNameHelper.GenerateTableName<TClass>()}");
        }
예제 #3
0
        public UpdateBuilder(IDbConnection dbConnection)
        {
            _dbConnection = dbConnection;

            AddLine($"UPDATE {TableNameHelper.GenerateTableName<TClass>()} SET ");
        }
예제 #4
0
 public static string GetTableName <TClass>()
 {
     return(TableNameHelper.GenerateTableName <TClass>());
 }
예제 #5
0
        public DeleteBuilder(IDbConnection dbConnection)
        {
            _dbConnection = dbConnection;

            AddLine($"DELETE FROM {TableNameHelper.GenerateTableName<TClass>()}");
        }