示例#1
0
        public static ITableStructure GetTableStructure(this DataColumnCollection columns, string name)
        {
            TableStructure res = new TableStructure();

            //res.FilledMembers |= TableStructureMembers.ColumnNames | TableStructureMembers.ColumnTypes;
            foreach (DataColumn col in columns.SortedByKey <DataColumn, int>(col => col.Ordinal))
            {
                var c = res.AddColumn(col.ColumnName, TypeTool.GetDatAdminType(col.DataType));
                c.IsNullable   = col.AllowDBNull;
                c.DefaultValue = SqlExpression.ParseDefaultValue(col.DefaultValue.SafeToString(), null);
            }
            return(res);
        }
示例#2
0
 public static DbTypeBase ReaderDataType(DataRow row)
 {
     try
     {
         string tp = row["DataTypeName"].SafeToString();
         if (tp == "xml")
         {
             return(new DbTypeXml());
         }
         int size = row.SafeString("ColumnSize").SafeIntParse();
         if (tp == "varchar")
         {
             return new DbTypeString {
                        Length = size
             }
         }
         ;
         if (tp == "nvarchar")
         {
             return new DbTypeString {
                        Length = size, IsUnicode = true
             }
         }
         ;
         if (tp == "text")
         {
             return(new DbTypeText());
         }
         if (tp == "ntext")
         {
             return new DbTypeText {
                        IsUnicode = true
             }
         }
         ;
     }
     catch { }
     return(TypeTool.GetDatAdminType((Type)row["DataType"]));
 }