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.OracleKey Components
- OracleProvider -- Singleton at
OracleProvider.Instancethat handles type mappings and identifier parsing. The default schema isWEASEL. - OracleMigrator -- Generates DDL scripts and executes schema migrations using PL/SQL blocks.
Supported Schema Objects
| Object | Class | Namespace |
|---|---|---|
| Tables | Table | Weasel.Oracle.Tables |
| Sequences | Sequence | Weasel.Oracle |
Connection String
Weasel.Oracle uses standard Oracle connection strings:
cs
var connectionString = "User Id=myuser;Password=mypass;Data Source=localhost:1521/XEPDB1;";Type Mappings
| .NET Type | Oracle Type |
|---|---|
string | VARCHAR2(4000) |
int | NUMBER(10) |
long | NUMBER(19) |
bool | NUMBER(1) |
decimal | NUMBER |
double | BINARY_DOUBLE |
DateTime | DATE |
DateTimeOffset | TIMESTAMP WITH TIME ZONE |
Guid | RAW(16) |
byte[] | BLOB |
Creating a Migrator
cs
var migrator = new OracleMigrator();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);