Oracle Сначала база данных EntityFramework Core - измените сопоставления типов по умолчанию - PullRequest
0 голосов
/ 02 апреля 2020


Я использую EF Core 2.2 с поставщиком данных Oracles EF Core - подключение к существующей базе данных.

Есть ли возможность изменить эти сопоставления, поскольку некоторые таблицы плохо настроены:

  • Таблица A Ключом является NUMBER (десятичное число)
  • Таблица B Ссылки Таблица A с НОМЕРОМ (12) (длинным)

Я не могу изменить таблицы как есть, поэтому мне нужно настроить свой код.


Вот документ, в котором отображаются отображения по умолчанию:
https://docs.oracle.com/en/database/oracle/oracle-data-access-components/19.3/odpnt/EFCoreREDataTypeMapping.html#GUID -4FF3A9A3-AE49-431B-A4FB-31F8C53FCCF5
И я использую asp. net ядро ​​2.2 и последний официальный oracle базовый пакет: https://www.nuget.org/packages/Oracle.EntityFrameworkCore/

1 Ответ

0 голосов
/ 02 апреля 2020

Хорошо, я понял: вам нужно просто удалить тип базы данных из аннотации:

     [Table("TableA", Schema = "Schema")]
      public class TableA
      {
        [Key]
        [Column("KeyColumn")]
        public long KeyColumn { get; set; }

Вместо:

     [Table("TableA", Schema = "Schema")]
      public class TableA
      {
        [Key]
        [Column("KeyColumn", TypeName = "NUMBER")]
        //TypeName = Number isn't compatible with long
        public long KeyColumn{ get; set; }
...