Files
Data-Coupler/DataConnection/DB/EF/DatabaseSchemaProviderFactory.cs
T
Alessio 7346db3b63 feat: Implement ExistingDatabaseContext for managing existing databases with customizable naming strategies and auto-discovery of entities
feat: Add SqlServerSchemaProvider for extracting database schema information from SQL Server

feat: Introduce DatabaseType and NamingStrategy enums for better database management and naming conventions

feat: Create IDatabaseDiscovery and IDatabaseManager interfaces for database operations and metadata retrieval

feat: Develop REST service client architecture with BaseRestServiceClient and SAP Business One specific implementation

feat: Implement REST service discovery page with UI for connecting to SAP Business One Service Layer and displaying discovered entities
2025-04-29 00:16:03 +02:00

33 lines
1.3 KiB
C#

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}")
};
}
}