Exemplo n.º 1
0
 internal Table(Identifier serverName
                , Identifier databaseName
                , Identifier schemaName
                , Identifier name
                , bool hasAs
                , Identifier aliasName
                , string implicitAliasName
                , Identifier indexServerName
                , Identifier indexDatabaseName
                , Identifier indexSchemaName
                , Identifier indexName
                , bool hasNotIndexed
                , MsSqlHint msSqlHint
                , Comments comments)
 {
     _serverName            = serverName;
     _dataBaseName          = databaseName;
     _schemaName            = schemaName;
     _name                  = name;
     _hasAs                 = hasAs;
     _aliasName             = aliasName;
     this.ImplicitAliasName = implicitAliasName;
     this.IndexServerName   = indexServerName;
     this.IndexDataBaseName = indexDatabaseName;
     this.IndexSchemaName   = indexSchemaName;
     this.IndexName         = indexName;
     this.HasNotIndexed     = hasNotIndexed;
     this.MsSqlHint         = msSqlHint;
     this.Comments          = comments;
 }
Exemplo n.º 2
0
        public Table(Identifier serverName
                     , Identifier databaseName
                     , Identifier schemaName
                     , Identifier name
                     , bool hasAs
                     , Identifier aliasName
                     , Identifier indexServerName
                     , Identifier indexDatabaseName
                     , Identifier indexSchemaName
                     , Identifier indexName
                     , bool hasNotIndexed
                     , MsSqlHint msSqlHint)
        {
            _serverName            = serverName;
            _dataBaseName          = databaseName;
            _schemaName            = schemaName;
            _name                  = name;
            _hasAs                 = hasAs;
            _aliasName             = aliasName;
            this.IndexServerName   = indexServerName;
            this.IndexDataBaseName = indexDatabaseName;
            this.IndexSchemaName   = indexSchemaName;
            this.IndexName         = indexName;
            this.HasNotIndexed     = hasNotIndexed;
            this.MsSqlHint         = msSqlHint;

            // コメントスロット数を計算する
            var h = CountTrue(msSqlHint != MsSqlHint.None) * 4;
            var n = CountTrue(!string.IsNullOrEmpty(indexName)) * 3;
            var m = CountTrue(!string.IsNullOrEmpty(serverName)
                              , !string.IsNullOrEmpty(databaseName)
                              , !string.IsNullOrEmpty(schemaName)
                              , hasNotIndexed
                              , !string.IsNullOrEmpty(indexServerName)
                              , !string.IsNullOrEmpty(indexDatabaseName)
                              , !string.IsNullOrEmpty(indexSchemaName)) * 2;
            var l = CountTrue(HasAs
                              , !string.IsNullOrEmpty(aliasName));

            this.Comments = new Comments(h + n + m + l + 1);
        }