Skip to content

Oracle Overview

Weasel.Oracle provides schema management and migration support for Oracle databases using the Oracle.ManagedDataAccess.Core driver.

Installation

bash
dotnet add package Weasel.Oracle

Key Components

  • OracleProvider -- Singleton at OracleProvider.Instance that handles type mappings and identifier parsing. The default schema is WEASEL.
  • OracleMigrator -- Generates DDL scripts and executes schema migrations using PL/SQL blocks.

Supported Schema Objects

ObjectClassNamespace
TablesTableWeasel.Oracle.Tables
SequencesSequenceWeasel.Oracle

Connection String

Weasel.Oracle uses standard Oracle connection strings:

cs
var connectionString = "User Id=myuser;Password=mypass;Data Source=localhost:1521/XEPDB1;";

snippet source | anchor

Type Mappings

.NET TypeOracle Type
stringVARCHAR2(4000)
intNUMBER(10)
longNUMBER(19)
boolNUMBER(1)
decimalNUMBER
doubleBINARY_DOUBLE
DateTimeDATE
DateTimeOffsetTIMESTAMP WITH TIME ZONE
GuidRAW(16)
byte[]BLOB

Creating a Migrator

cs
var migrator = new OracleMigrator();

snippet source | anchor

Schemas in Oracle are implemented as database users. The migrator handles this automatically:

cs
await using var conn = new OracleConnection(connectionString);
await migrator.EnsureDatabaseExistsAsync(conn);

snippet source | anchor

Released under the MIT License.