コード例 #1
0
ファイル: BaseProvider.cs プロジェクト: fizikci/Cinar
 protected string getDefaultValue(Column column)
 {
     if (column.IsStringType())
         return encloseWithQuote(column.DefaultValue.Trim());
     else if (column.IsNumericType())
         return column.DefaultValue.Trim().Trim('\'');
     else
         return encloseWithQuote(column.DefaultValue.Trim());
 }
コード例 #2
0
ファイル: SQLiteProvider.cs プロジェクト: fizikci/Cinar
        public string GetColumnDDL(Column column)
        {
            StringBuilder columnDDL = new StringBuilder();
            string columnTypeName = DbTypeToString(column.ColumnType).ToLowerInvariant();
            columnDDL.Append("[" + column.Name + "] " + columnTypeName);
            if (columnTypeName == "char" || columnTypeName == "varchar" || columnTypeName == "nchar" || columnTypeName == "nvarchar")
                columnDDL.Append("(" + (column.Length == 0 ? 50 : column.Length) + ")");
            //if (column.ColumnType == DbType.VarChar || column.ColumnType == DbType.Text)
            //    fieldDDL.Append(" CHARACTER SET utf8 COLLATE utf8_turkish_ci");
            columnDDL.Append(column.IsNullable ? "" : " NOT NULL");
            if (column.IsPrimaryKey)
                columnDDL.Append(" PRIMARY KEY");
            if (column.IsAutoIncrement)
                columnDDL.Append(" AUTOINCREMENT");
            if (!string.IsNullOrEmpty(column.DefaultValue))
                columnDDL.Append(" DEFAULT " + getDefaultValue(column));
            if (column.ReferenceColumn != null)
                columnDDL.Append(" REFERENCES [" + column.ReferenceColumn.Table.Name + "]([" + column.ReferenceColumn.Name + "])");

            if (column.IsStringType())
                columnDDL.Append(" COLLATE NOCASE");

            return columnDDL.ToString();
        }