Implementato il supporto per la scoperta e la visualizzazione dello schema del database, inclusa la creazione di provider specifici per SQL Server e l'integrazione con il servizio di connessione al database.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using DataConnection.EF.SchemaProviders;
|
||||
using DataConnection.Enums;
|
||||
using DataConnection.Interfaces;
|
||||
|
||||
namespace DataConnection.EF;
|
||||
|
||||
/// <summary>
|
||||
/// Factory per la creazione di provider di schema del database
|
||||
/// </summary>
|
||||
public class DatabaseSchemaProviderFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// Crea un provider di schema in base al tipo di database
|
||||
/// </summary>
|
||||
/// <param name="databaseType">Tipo di database</param>
|
||||
/// <returns>Provider di schema appropriato</returns>
|
||||
public static IDatabaseSchemaProvider CreateProvider(DatabaseType databaseType)
|
||||
{
|
||||
return databaseType switch
|
||||
{
|
||||
DatabaseType.SqlServer => new SqlServerSchemaProvider(),
|
||||
// Aggiungere qui altri provider quando implementati
|
||||
// DatabaseType.MySql => new MySqlSchemaProvider(),
|
||||
// DatabaseType.PostgreSql => new PostgreSqlSchemaProvider(),
|
||||
// DatabaseType.Oracle => new OracleSchemaProvider(),
|
||||
// DatabaseType.Sqlite => new SqliteSchemaProvider(),
|
||||
// DatabaseType.DB2 => new DB2SchemaProvider(),
|
||||
// DatabaseType.SapHana => new SapHanaSchemaProvider(),
|
||||
_ => throw new NotSupportedException($"Tipo di database non supportato per l'estrazione dello schema: {databaseType}")
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user