Entity Framework, Oracle, DevArt, Context # ExecuteStoreQuery: System.Int32, созданный как System.Double? - PullRequest
0 голосов
/ 30 июня 2011

У меня есть Entity-класс, имеющий свойство типа Int32: при генерации DDL с использованием DevArt для ORACLE генерируется столбец NUMBER (10).Чтение и запись экземпляров работает безупречно.

Однако при извлечении экземпляров этого класса Entity, отправляющего пользовательский запрос в ExecuteStoreQuery в ObjectContext, это свойство, похоже, возвращается как System.Double, поскольку такое построение экземпляров завершается неудачей.

Можно ли намекнуть DevArt на создание System.Int32?

Спасибо.Bart

1 Ответ

0 голосов
/ 01 июля 2011

Причина в том, что OracleDataReader, который используется в методе ExecuteStoreQuery, имеет сопоставление типов, отличное от того, которое используется в провайдере Entity Framework.
Я рекомендую использовать NumberMappings , IПредположим, вам нужно сопоставить номер (10) с Int32: Number Mappings=((NUMBER,10,10,System.Int32).Эти изменения должны быть сохранены в строке подключения модели (они дублируют правила отображения EF по умолчанию, это необходимо для OracleDataReader из ExecuteStoreQuery).Пожалуйста, дайте нам знать, если проблема не устранена.

...