Example #1
0
 public TableBuilder(TableSchema sourceTable, ITableBuilderOption builderOption)
 {
     if (sourceTable == null)
     {
         throw new ArgumentNullException("sourceTable");
     }
 }
Example #2
0
        public TableBuilder(TableSchema sourceTable, ITableBuilderOption builderOption)
        {
            if (sourceTable == null)
            {
                throw new ArgumentNullException("sourceTable");
            }
            columns       = new List <ColumnSchema>();
            pkColumns     = new List <ColumnSchema>();
            nonPkColumns  = new List <ColumnSchema>();
            finderColumns = new List <ColumnSchema>();
            lobColumns    = new List <ColumnSchema>();
            nonLobColumns = new List <ColumnSchema>();



            bool isSingleColumnPk = sourceTable.PrimaryKey.MemberColumns.Count == 1;

            entityName = GetEntityName(sourceTable.Name, builderOption.entityOption);

            //  entityFullName =  CSHelper.GetQualifiedName(EntityName, entityNamespace)

            foreach (ColumnSchema c in sourceTable.Columns)
            {
                columns.Add(c);
                if (c.IsPrimaryKeyMember)
                {
                    pkColumns.Add(c);
                }
                else
                {
                    nonPkColumns.Add(c);
                }
            }
        }
        /// <summary>Creates an instance.</summary>
        public TableBuilder(TableSchema sourceTable, ITableBuilderOption builderOption) {
            if (sourceTable == null) throw new ArgumentNullException("sourceTable");
            if (builderOption == null) throw new ArgumentNullException("builderOption");

            m_SourceTable = sourceTable;
            m_BuilderOption = builderOption;
            m_DbVendor = DbVendorProvider.GetVendor(m_BuilderOption.SqlOption.VendorId);

            m_TableName = DbVendor.QuotedStr(SourceTable.Name);
            m_QualifiedTableName = string.IsNullOrEmpty(SourceTable.Owner) ? TableName : DbVendor.QuotedStr(SourceTable.Owner) + "." + TableName;

            m_EntityNamespace = EntityOption.Namespace;
            m_EntityName = GetEntityName(SourceTable.Name, EntityOption);
            m_EntityFullName = CSHelper.GetQualifiedName(EntityName, EntityNamespace);
            m_EntityQualifiedName = CSHelper.GetAssemblyQualifiedName(EntityFullName, EntityOption.Assembly);
            m_EntityPartialDecl = EntityOption.IsPartial ? "partial " : String.Empty;
            m_EntityBaseDecl = String.IsNullOrEmpty(EntityOption.BaseType) ? String.Empty : " : " + EntityOption.BaseType;

            m_DaoIntfNamespace = DaoIntfOption.Namespace;
            m_DaoIntfName = String.Format(DaoIntfOption.NameFmt, EntityName);
            m_DaoIntfFullName = CSHelper.GetQualifiedName(DaoIntfName, DaoIntfNamespace);
            m_DaoIntfQualifiedName = CSHelper.GetAssemblyQualifiedName(DaoIntfFullName, DaoIntfOption.Assembly);
            m_DaoIntfPartialDecl = DaoIntfOption.IsPartial ? "partial " : String.Empty;
            m_DaoIntfBaseDecl = String.IsNullOrEmpty(DaoIntfOption.BaseType) ? String.Empty : " : " + DaoIntfOption.BaseType;

            m_DaoImplNamespace = DaoImplOption.Namespace;
            m_DaoImplName = String.Format(DaoImplOption.NameFmt, EntityName);
            m_DaoImplFullName = CSHelper.GetQualifiedName(DaoImplName, DaoImplNamespace);
            m_DaoImplQualifiedName = CSHelper.GetAssemblyQualifiedName(DaoImplQualifiedName, DaoImplOption.Assembly);
            m_DaoImplPartialDecl = DaoImplOption.IsPartial ? "partial " : String.Empty;
            m_DaoImplBaseDecl = " : " + DaoImplOption.BaseType 
                + (String.IsNullOrEmpty(DaoImplOption.BaseType) ? String.Empty : ", ") 
                + m_DaoIntfName;
            m_SqlMapper = DaoImplOption.SqlMapperFmt;

            int columnCount = SourceTable.Columns.Count;
            bool isSingleColumnPk = SourceTable.PrimaryKey.MemberColumns.Count == 1;    //If the table has a single-column primary key.

            //Initialize column lists
            List<ColumnInfo> columns = new List<ColumnInfo>(columnCount);
            List<ColumnInfo> pkColumns = new List<ColumnInfo>(SourceTable.PrimaryKey.MemberColumns.Count);
            List<ColumnInfo> nonPkColumns = new List<ColumnInfo>(columnCount);
            List<ColumnInfo> finderColumns = new List<ColumnInfo>(columnCount);
            List<ColumnInfo> lobColumns = new List<ColumnInfo>(columnCount);
            List<ColumnInfo> nonLobColumns = new List<ColumnInfo>(columnCount);

            foreach (ColumnSchema c in SourceTable.Columns) {
                ColumnInfo cb = new ColumnInfo(c, MemberOption, SqlOption, DbVendor);
                columns.Add(cb);

                if (c.IsPrimaryKeyMember) {
                    pkColumns.Add(cb);
                } else {
                    nonPkColumns.Add(cb);
                }

                if (cb.IsLob)
                    lobColumns.Add(cb);
                else
                    nonLobColumns.Add(cb);

                //Determinates if the column will be used in FindByXXX.
                if (c.IsPrimaryKeyMember && isSingleColumnPk) continue;
                if (cb.IsLob) continue;
                finderColumns.Add(cb);
            }
            m_Columns = columns.AsReadOnly();
            m_PkColumns = pkColumns.AsReadOnly();
            m_NonPkColumns = nonPkColumns.AsReadOnly();
            m_FinderColumns = finderColumns.AsReadOnly();
            m_LobColumns = lobColumns.AsReadOnly();
            m_NonLobColumns = nonLobColumns.AsReadOnly();

            m_HasLob = lobColumns.Count > 0;
            m_IdBase = GetIdBase(m_EntityName, m_EntityNamespace, SqlOption);
        }
Example #4
0
        public TableBuilder(TableSchema sourceTable, ITableBuilderOption builderOption)
        {
            if (sourceTable == null) throw new ArgumentNullException("sourceTable");
             columns = new List<ColumnSchema>();
             pkColumns =  new List<ColumnSchema>();
             nonPkColumns =  new List<ColumnSchema>();
             finderColumns =  new List<ColumnSchema>();
             lobColumns =  new List<ColumnSchema>();
             nonLobColumns =  new List<ColumnSchema>();

            bool isSingleColumnPk = sourceTable.PrimaryKey.MemberColumns.Count == 1;

               entityName =  GetEntityName(sourceTable.Name, builderOption.entityOption);

             //  entityFullName =  CSHelper.GetQualifiedName(EntityName, entityNamespace)

            foreach (ColumnSchema c in sourceTable.Columns)
            {
                columns.Add(c);
                if (c.IsPrimaryKeyMember)
                {
                    pkColumns.Add(c);
                }
                else
                {
                    nonPkColumns.Add(c);
                }
            }
        }
Example #5
0
 public TableBuilder(TableSchema sourceTable, ITableBuilderOption builderOption){
   if (sourceTable == null) throw new ArgumentNullException("sourceTable");
 
 
 
 }