Свойство BillingPhysicalMedicineId для GetPhysicalMedicineInfoByOrderNo_Result не может быть установлено в значение System.Int32. - PullRequest
0 голосов
/ 27 мая 2019

У меня есть SQL Server SP, в котором я возвращаю значение столбца как 0, если значение в этом столбце равно NULL.

Тип столбца в базе данных - это bigint, который эквивалентен long / Int64 в C #, когда я сопоставляю модель полей SP и EF типу полей, он также показывает корректно, то есть long в возвращаемом типе, генерируемом EF модель.

Однако, когда я вызываю SP из C # с помощью вызова функции EF, он выдает мне вышеуказанную ошибку.

Это происходит только тогда, когда возвращаемое значение равно 0, однако работает нормально, если значение, возвращаемое в столбце, отличается от 0.

Любые предложения.

1 Ответ

0 голосов
/ 07 июня 2019

OK. Поэтому, после долгих поисков и поиска среди множества онлайн-статей, я пришел к выводу, что комментарии @JeroenMostert действительно имеют смысл. И исходя из этого мне пришлось преобразовать значение этого столбца в bigint во всех моих SP, где бы тип данных не был bigint, в противном случае он предполагал, что возвращаемые значения были только int.

CAST(0 as bigint) As BillingPhysicalMedicineId

Дома это помогает и другим.

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