#region License
// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
// This source code is made available under the terms of the GNU Lesser General Public License v3.0
// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
#endregion
using System.Collections.Generic;
using System.Data.Common;
using MiniSqlQuery.Core.DbModel;
namespace MiniSqlQuery.Core
{
///
/// The database schema service interface.
///
public interface IDatabaseSchemaService
{
///
/// Gets or sets ProviderName.
///
/// The provider name.
string ProviderName { get; set; }
///
/// Gets a database object model that represents the items defined by the .
///
/// The connection string.
/// A database model instance object describing the database.
DbModelInstance GetDbObjectModel(string connection);
///
/// Gets database types by querying the schema.
///
/// The database connection.
/// A dictionary of database types, the key is the SQL type and the value is the full detail of the type.
Dictionary GetDbTypes(DbConnection connection);
///
/// Get the description of the database.
///
/// The database description.
string GetDescription();
}
}