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

ODP.NETのマニフェスト・ファイルには、基本型(VARCHAR2Numberなど)と、基本型のマップ先であるEntity Data Model(EDM)型(stringInt32など)が記述されています。これには、各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型のファセット

4.3.1 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