プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# EDM型へのOracleデータ型のマッピング

ODP.NETのマニフェスト・ファイルには、基本型(`VARCHAR2`、`Number`など)と、基本型のマップ先であるEntity Data Model(EDM)型(`string`、`Int32`など)が記述されています。これには、各EDM型のファセットも含まれています。

ODP.NETでは、時間リテラル、および時間型に関する正規関数がサポートされていません。

Oracleでは、`NULL`と空文字列の両方が、同様に`NULL`文字列であると判断されます。これらの文字列に対して操作(`Equals()、Length()`、`Trim()` など)を実行すると、`NULL`文字列が返されます。

表4-1に、Oracleデータ型と対応するEDM型のマッピングを示します。表には、各Oracleデータ型に関連付けられるプロバイダ型の属性およびEDM型のファセットの詳細も含まれています。

表4-1 Oracleデータ型とEDM型のマッピング

Oracleデータ型 | EDM型(基本型) | プロバイダ型の属性: 名前および値 | EDM型のファセット
--- | --- | --- | ---
`Bfile` | `Binary` | `Equal Comparable: False` `Order Comparable: False` | BfileのEDM型のファセット
`Binary_Double` | `Double` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Binary_Float` | `Single` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Binary_Integer` | `Int32` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Blob` | `Binary` | `Equal Comparable: False` `Order Comparable: False` | BlobのEDM型のファセット
`Char` | `String` | `Equal Comparable: True` `Order Comparable: True` | CharのEDM型のファセット
`Clob` | `String` | `Equal Comparable: False` `Order Comparable: False` | ClobのEDM型のファセット
`Date` | `DateTime` | `Equal Comparable: True` `Order Comparable: True` | DateのEDM型のファセット
`Float` | `Decimal` | `Equal Comparable: True` `Order Comparable: True` | FloatのEDM型のファセット
`Int` | `Int32` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Interval Day To Second` | `Decimal` | `Equal Comparable: True` `Order Comparable: True` | Interval Day To SecondのEDM型のファセット
`Interval Year To Month` | `Decimal` | `Equal Comparable: True` `Order Comparable: True` | Interval Year To MonthのEDM型のファセット
`Long` | `String` | `Equal Comparable: False` `Order Comparable: False` | LongのEDM型のファセット
`Long Raw` | `Binary` | `Equal Comparable: False` `Order Comparable: False` | Long RawのEDM型のファセット
`NChar` | `String` | `Equal Comparable: True` `Order Comparable: True` | NCharのEDM型のファセット
`NClob` | `String` | `Equal Comparable: False` `Order Comparable: False` | NClobのEDM型のファセット
`Nested Table` |  | 適用不可 | 適用不可およびサポートされない
`Number(1,0)` `Number(2,0)` `Number(3,0)` `Number(4,0)` `Number(5,0)` | `Int16` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Number(6,0)` `Number(7,0)` `Number(8,0)` `Number(9,0)` `Number(10,0)` | `Int32` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Number(11,0)` `Number(12,0)` `Number(13,0)` `Number(14,0)` `Number(15,0)` `Number(16,0)` `Number(17,0)` `Number(18,0)` `Number(19,0)` | `Int64` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Number` (その他すべての場合) | `Decimal` | `Equal Comparable: True` `Order Comparable: True` | NumberのEDM型のファセット
`NVarchar2` | `String` | `Equal Comparable: True` `Order Comparable: True` | NVarchar2のEDM型のファセット
`Object` |  | 適用不可 | 適用不可およびサポートされない
`Raw` | `Binary` | `Equal Comparable: True` `Order Comparable: True` | RawのEDM型のファセット
`Raw(16)` | `Guid` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Ref` |  | 適用不可 | 適用不可およびサポートされない
`ROWID` | `String` | `Equal Comparable: True` `Order Comparable: True` | ROWIDのEDM型のファセット
`Smallint` | `Int16` | `Equal Comparable: True` `Order Comparable: True` | 適用不可
`Timestamp` | `DateTime` | `Equal Comparable: True` `Order Comparable: True` | TimestampのEDM型のファセット
`Timestamp with` `Local Time Zone` | `DateTime` | `Equal Comparable: True` `Order Comparable: True` | Timestamp with Local Time ZoneのEDM型のファセット
`Timestamp with` `Time Zone` | `DateTimeOffset` | `Equal Comparable: True` `Order Comparable: True` | Timestamp with Time ZoneのEDM型のファセット
`UROWID` (サイズ) | `Binary` | `Equal Comparable: True` `Order Comparable: True` | UROWIDのEDM型のファセット
`Varchar2` | `String` | `Equal Comparable: True` `Order Comparable: True` | Varchar2のEDM型のファセット
`VArray` |  | 適用不可 | 適用不可およびサポートされない
`XMLType` | `String` | `Equal Comparable: False` `Order Comparable: False` | XMLTypeのEDM型のファセット

## EDM型のファセット

この項では、前述のOracleデータ型に対応するEDM型のファセットを列挙します。各表の最初の列には、Oracleデータ型のEDM型ファセット名が表示されます。後続の列にファセット属性名がリストされ、それぞれの値が表示されます。

BfileのEDM型のファセット

表4-2 BfileのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `2147483648` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

BlobのEDM型のファセット

表4-3 BlobのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `2147483648` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

CharのEDM型のファセット

表4-4 CharのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `Minimum`: `1` `Maximum`: `2000` `DefaultValue`: `2000` `Constant`: `False`
`Unicode` | `DefaultValue`: `False` `Constant`: `True`
`FixedLength` | `DefaultValue`: `True` `Constant`: `True`

ClobのEDM型のファセット

表4-5 ClobのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `2147483647` `Constant`: `True`
`Unicode` | `DefaultValue`: `False` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

DateのEDM型のファセット

表4-6 DateのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Constant`: `True` `DefaultValue`: `0`

FloatのEDM型のファセット

表4-7 FloatのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Minimum`: `0` `Maximum`: `126` `DefaultValue`: `0` `Constant`: `False`
`Scale` | `Minimum`: `0` `Maximum`: `38` `DefaultValue`: `0` `Constant`: `False`

Interval Day To SecondのEDM型のファセット

表4-8 Interval Day To SecondのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Minimum`: `1` `Maximum`: `251` `DefaultValue`: `251` `Constant`: `False`
`Scale` | `Minimum`: `0` `Maximum`: `9` `DefaultValue`: `0` `Constant`: `False`

注意:

EDM型では、`TimeSpan`がサポートされていません。

合計秒数を表すには、`Decimal`を使用します。`TimeSpan`は、`TimeSpan.FromSeconds`静的メソッドを使用して取得できます。

Interval Year To MonthのEDM型のファセット

表4-9 Interval Year To MonthのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Minimum`: `1` `Maximum`: `250` `DefaultValue`: `250` `Constant`: `False`
`Scale` | `Minimum`: `0` `Maximum`: `9` `DefaultValue`: `0` `Constant`: `False`

LongのEDM型のファセット

表4-10 LongのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `2147483647` `Constant`: `True`
`Unicode` | `DefaultValue`: `False` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

Long RawのEDM型のファセット

表4-11 Long RawのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `2147483647` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

NCharのEDM型のファセット

表4-12 NCharのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `Minimum`: `1` `Maximum`: `1000` `DefaultValue`: `1000` `Constant`: `False`
`Unicode` | `DefaultValue`: `True` `Constant`: `True`
`FixedLength` | `DefaultValue`: `True` `Constant`: `True`

注意:

`NChar`では、実際のデータが最大バイト制限の2000の対象となります。

DDLで許可される最大文字数が1000の場合、`Maximum`および`DefaultValue`の値が1000であると、EDMウィザードに`NCHAR(1000)`の列が表示されます。

NClobのEDM型のファセット

表4-13 NClobのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `2147483647` `Constant`: `True`
`Unicode` | `DefaultValue`: `True` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

NumberのEDM型のファセット

表4-14 NumberのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Minimum`: `1` `Maximum`: `38` `DefaultValue`: `38` `Constant`: `False`
`Scale` | `Minimum`: `0` `Maximum`: `38` `DefaultValue`: `0` `Constant`: `False`

NVarchar2のEDM型のファセット

表4-15 NVarchar2のEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `Minimum`: `1` `Maximum`: `2000` `DefaultValue`: `2000` `Constant`: `False`
`Unicode` | `DefaultValue`: `True` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

注意:

`NVARCHAR2`では、実際のデータが最大バイト制限の4000の対象となります。

DDLで許可される最大文字数が2000の場合、`Maximum`および`DefaultValue`の値が2000であると、EDMウィザードに`NVARCHAR2(2000)`の列が表示されます。

RawのEDM型のファセット

表4-16 RawのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `Minimum`: `1` `Maximum`: `2000` `Constant`: `False`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

ROWIDのEDM型のファセット

表4-17 ROWIDのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `18` `Constant`: `True`
`Unicode` | `DefaultValue`: `False` `Constant`: `True`
`FixedLength` | `DefaultValue`: `True` `Constant`: `True`

TimestampのEDM型のファセット

表4-18 TimestampのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Minimum`: `0` `Maximum`: `9` `DefaultValue`: `6` `Constant`: `False`

Timestamp with Local Time ZoneのEDM型のファセット

表4-19 Timestamp with Local Time ZoneのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Minimum`: `0` `Maximum`: `9` `DefaultValue`: `6` `Constant`: `False`

Timestamp with Time ZoneのEDM型のファセット

表4-20 Timestamp with Time ZoneのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`Precision` | `Minimum`: `0` `Maximum`: `9` `DefaultValue`: `6` `Constant`: `False`

UROWIDのEDM型のファセット

表4-21 UROWIDのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `4000` `Constant`: `True`
`FixedLength` | `DefaultValue`: `True` `Constant`: `True`

Varchar2のEDM型のファセット

表4-22 Varchar2のEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `Minimum`: `1` `Maximum`: `4000` `DefaultValue`: `4000` `Constant`: `False`
`Unicode` | `DefaultValue`: `False` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`

XMLTypeのEDM型のファセット

表4-23 XMLTypeのEDM型のファセット

ファセット名 | 属性名と値
--- | ---
`MaxLength` | `DefaultValue`: `2147483647` `Constant`: `True`
`Unicode` | `DefaultValue`: `True` `Constant`: `True`
`FixedLength` | `DefaultValue`: `False` `Constant`: `True`