Entity Framework генерирует short вместо int


Мы используем Entity Framework database-first для нашей базы данных Oracle.

По какой-то причине Number(5) становится Int16 - short

Максимальное значение Number(5) равно 99999
Max Int16 значение равно 32767

Проблема... есть ли способ поручить картографу перевести Number(5) в int32?

2 4

2 ответа:

Решил ее, добавил Это в сеть.конфигурация:

<oracle.dataaccess.client>
<settings>
<add name="int16" value="edmmapping number(4,0)" />
<add name="int32" value="edmmapping number(9,0)" />
</settings>
</oracle.dataaccess.client>

Воссоздал модель с помощью файла *.edmx и...

Теперь Number(5) - это Int32 вместо Int16 а Number(10) - это Int64 вместо Int32

Я надеюсь, что это поможет кому-то еще в будущем...

Oracle с EntityFramework для меня всегда приводила к тому, что у меня был лист изменений, которые я должен был применить к своему edmx-файлу после его создания.

Помимо изменения типа данных столбца, я бы предложил вручную редактировать тип строки в файле edmx и просто помнить, что это то, что вам придется делать каждый раз, когда вы повторно генерируете