Пример #1
0
        private async Task <HashSet <Relationship> > GetRelationships(DbConnection connection)
        {
            var rels        = new HashSet <Relationship>();
            var commandText = DbAdapter.BuildRelationshipCommandText(this);

            using (var cmd = connection.CreateCommand())
            {
                cmd.CommandText = commandText;
                using (DbDataReader reader = await cmd.ExecuteReaderAsync())
                {
                    while (await reader.ReadAsync())
                    {
                        rels.Add(new Relationship(
                                     reader.IsDBNull(0) ? null : reader.GetString(0),
                                     reader.GetString(1),
                                     reader.IsDBNull(2) ? null : reader.GetString(2),
                                     reader.GetString(3),
                                     reader.GetString(4),
                                     reader.FieldCount >= 6 && !reader.IsDBNull(5) ? reader.GetString(5) : null,
                                     reader.FieldCount == 7 && !reader.IsDBNull(6) ? reader.GetString(6) : null
                                     ));
                    }
                }
            }

            return(rels);
        }
Пример #2
0
        private IList <Relationship> GetRelationships(DbConnection connection)
        {
            var rels        = new List <Relationship>();
            var commandText = DbAdapter.BuildRelationshipCommandText(this);

            var values = new List <string>();

            values.AddRange(TablesToIgnore ?? Enumerable.Empty <string>());
            values.AddRange(SchemasToExclude ?? Enumerable.Empty <string>());
            values.AddRange(SchemasToInclude ?? Enumerable.Empty <string>());

            using (var cmd = connection.CreateCommand(commandText, values.ToArray()))
            {
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var rel = new Relationship
                        {
                            PrimaryKeyTable = "\"" + reader.GetString(0) + "\".\"" + reader.GetString(1) + "\"",
                            ForeignKeyTable = "\"" + reader.GetString(2) + "\".\"" + reader.GetString(3) + "\""
                        };
                        rels.Add(rel);
                    }
                }
            }

            return(rels);
        }
Пример #3
0
        private async Task <HashSet <Relationship> > GetRelationships(DbConnection connection)
        {
            var rels        = new HashSet <Relationship>();
            var commandText = DbAdapter.BuildRelationshipCommandText(this);

            using var cmd = connection.CreateCommand();

            cmd.CommandText = commandText;

            using var reader = await cmd.ExecuteReaderAsync();

            while (await reader.ReadAsync())
            {
                rels.Add(new Relationship(
                             new Table(await reader.IsDBNullAsync(0) ? null : reader.GetString(0), reader.GetString(1)),
                             new Table(await reader.IsDBNullAsync(2) ? null : reader.GetString(2), reader.GetString(3)),
                             reader.GetString(4)));
            }

            return(rels);
        }
Пример #4
0
        private IList <Relationship> GetRelationships(DbConnection connection)
        {
            var rels        = new List <Relationship>();
            var commandText = DbAdapter.BuildRelationshipCommandText(this);

            using (var cmd = connection.CreateCommand())
            {
                cmd.CommandText = commandText;
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var rel = new Relationship
                        {
                            PrimaryKeyTable = "\"" + reader.GetString(0) + "\".\"" + reader.GetString(1) + "\"",
                            ForeignKeyTable = "\"" + reader.GetString(2) + "\".\"" + reader.GetString(3) + "\""
                        };
                        rels.Add(rel);
                    }
                }
            }

            return(rels);
        }
Пример #5
0
        private async Task <IList <Relationship> > GetRelationships(DbConnection connection)
        {
            var rels        = new List <Relationship>();
            var commandText = DbAdapter.BuildRelationshipCommandText(this);

            using (var cmd = connection.CreateCommand())
            {
                cmd.CommandText = commandText;
                using (var reader = await cmd.ExecuteReaderAsync())
                {
                    while (await reader.ReadAsync())
                    {
                        var rel = new Relationship
                        {
                            PrimaryKeyTable = $"{DbAdapter.QuoteCharacter}{reader.GetString(0)}{DbAdapter.QuoteCharacter}.{DbAdapter.QuoteCharacter}{reader.GetString(1)}{DbAdapter.QuoteCharacter}",
                            ForeignKeyTable = $"{DbAdapter.QuoteCharacter}{reader.GetString(2)}{DbAdapter.QuoteCharacter}.{DbAdapter.QuoteCharacter}{reader.GetString(3)}{DbAdapter.QuoteCharacter}"
                        };
                        rels.Add(rel);
                    }
                }
            }

            return(rels);
        }