/// <summary> /// Returns a <see cref="IDcilSchemaProvider"/> object from given connection and data provider /// </summary> /// <param name="connection">The IDbConnection to use to retrieve the information</param> /// <param name="dataProviderName">The invariant name of the Data Provider</param> /// <returns><see cref="IDcilSchemaProvider"/></returns> public static IDcilSchemaProvider GetDcilSchemaProvider(IDbConnection connection, string dataProviderName) { IDcilSchemaProvider provider = null; switch (dataProviderName) { case "MySql.Data.MySqlClient": provider = new MySqlDcilSchemaProvider(connection); break; case "System.Data.SqlClient": provider = new SqlServer2005DcilSchemaProvider(connection); break; case "Oracle.DataAccess.Client": case "System.Data.OracleClient": provider = new OracleDcilSchemaProvider(connection); break; } if (provider == null) { throw new NotSupportedException("The specified invariant name is not supported."); } return(provider); }
/// <summary> /// Returns a <see cref="DcilSchema"/> object from given schema name /// </summary> /// <param name="schemaName">The name of the schema to load</param> /// <param name="connection">The IDbConnection to use to retrieve the information</param> /// <param name="dataProviderName">The invariant name of the Data Provider</param> /// <exception cref="NotSupportedException"/> /// <returns><see cref="DcilSchema"/></returns> public static DcilSchema FromSchemaName(string schemaName, IDbConnection connection, string dataProviderName) { if (connection == null) { throw new ArgumentNullException("connection"); } if (String.IsNullOrEmpty(schemaName)) { throw new ArgumentException("The name of the schema must not be empty", "schemaName"); } IDcilSchemaProvider provider = GetDcilSchemaProvider(connection, dataProviderName); return(provider.LoadSchema(schemaName)); }
/// <summary> /// Instantiates a new instance of <see cref="DcilSchema"/> /// </summary> /// <param name="dataProvider"></param> /// <param name="name"></param> public DcilSchema(IDcilSchemaProvider dataProvider, string name) { this._name = name; this._dataProvider = dataProvider; }
/// <summary> /// Instantiates a new instance of <see cref="DcilTable"/> /// </summary> public DcilTable(IDcilSchemaProvider dataProvider, string schemaName, string tableName) { this._dataProvider = dataProvider; this._schemaName = schemaName; this._tableName = tableName; }