1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
7
using System.Collections.Generic;
10
using System.Collections.ObjectModel;
11
using ICSharpCode.Data.Core.DatabaseObjects;
15
namespace ICSharpCode.Data.Core.Interfaces
17
public interface IDatabaseDriver : IDatabaseObjectBase
19
DatabaseObjectsCollection<IDatasource> IDatasources { get; }
20
string ProviderName { get; }
21
string ODBCProviderName { get; }
23
IDatasource AddNewDatasource(string datasourceName);
24
IDatasource CreateNewIDatasource(string name);
26
void RemoveDatasource(string datasourceName);
27
DatabaseObjectsCollection<ITable> LoadTables(IDatabase database);
28
DatabaseObjectsCollection<IView> LoadViews(IDatabase database);
29
DatabaseObjectsCollection<IProcedure> LoadProcedures(IDatabase database);
30
void PopulateDatasources();
31
void PopulateDatabases();
32
void PopulateDatabases(IDatasource datasource);
35
public interface IDatabaseDriver<T> : IDatabaseDriver where T : IDatasource
37
T CreateNewDatasource(string name);
38
DatabaseObjectsCollection<T> Datasources { get; }