Entity Framework - сопоставить логические значения с VARCHAR2 (1) - PullRequest
0 голосов
/ 17 декабря 2018

Я использую Entity Framework 6 и ASP.NET Core 2.1.

Я видел несколько примеров на SO и в других местах для сопоставления столбцов NUMBER (1) в базе данных с логическими значениями в Entity Framework.Обычно они включают что-то вроде

<oracle.manageddataaccess.client>
  <version number="*">
    <edmMappings>
      <edmMapping dataType="number">
        <add name="bool" precision="1"/>
      </edmMapping>
    </edmMappings>
  </version>
</oracle.manageddataaccess.client>

, добавляемое в web.config.

Все примеры предназначены для отображения числового значения БД в логическое значение.База данных, которую мы используем, имеет столбец ACTIVE_IND в каждом столбце, то есть VARCHAR2 (1).Мы должны использовать его как «1» = true, «0» = false.

При каждом значении, которое я пытаюсь указать для <edmMapping dataType="***">, я получаю сообщение об ошибке, подобное DataType 'varchar2' is invalid.Я пробовал varchar, varchar2, string и т. Д.

Мой вопрос - есть ли способ отобразить все таблицы так, чтобы в моем .NET-коде это свойство было логическим, но в базе данных это VARCHAR2

1 Ответ

0 голосов
/ 17 декабря 2018

Не существует первоклассного способа сделать это в EF 6.

EF Core поддерживает это через Преобразования значений , и Oracle поставила ODP.NET Core ,Однако поддержка EF Core пока не поставляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...