Type mapping rules from this table are used when Oracle table columns are mapped to the entity properties of LinqConnect model.
| Oracle data type | CLR data type |
|---|---|
| INTERVAL YEAR TO MONTH, INTERVAL YEAR, NUMBER(1) - NUMBER(9) | System.Int32 |
| NUMBER(10) - NUMBER(22), BINARY_DOUBLE, | System.Double |
| FLOAT(1) - FLOAT(10), BINARY_FLOAT | System.Single |
| NUMBER, FLOAT(11) - FLOAT(...) | System.Decimal |
| DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE | System.DateTime |
| INTERVAL DAY TO SECOND | System.TimeSpan |
| VARCHAR2, NVARCHAR2, CHAR, NCHAR, URITYPE, LONG, ROWID, UROWID, CLOB, NCLOB, XMLTYPE | System.String |
| RAW(16) | System.Guid |
| RAW, BLOB, BFILE, LONG RAW | System.Byte[] |
Note: |
|---|
|
Please note, that the mapping rules of NUMBER and FLOAT data types can change in dependence of the field size. For example, NUMBER(1)-NUMBER(9) will be mapped to the System.Int32, but NUMBER(10) - NUMBER(22) will be mapped to the double. NUMBER field without size definition will be mapped to the decimal. If you have a NUMBER(x, y) where y <> 0 or x > 15 then this value should be mapped to decimal. |