У нас есть две хранимые процедуры в Microsoft SQL Server, которые возвращают данные, которые концептуально одного типа. Один возвращает идентификатор как SCOPE_TDENTITY () (числовой), а другой возвращает 0 (int32). У нас есть сложный тип с идентификатором свойства. Если это свойство является десятичным значением, допускающим значение NULL, мы получим следующую ошибку при перечислении результатов sproc, который возвращает int32:
The 'ID' property on 'EntitryRequestReturn' could not be set to a 'Int32' value. You must set this property to a non-null value of type 'Decimal'.
Изменение типа свойства на int32 просто перемещает ошибку в другой sproc с типами данных, перечисленными в обратном порядке. Изменение того, являются ли типы обнуляемыми, не имеет значения.
Как я могу заставить EF4 преобразовать столбец int, возвращенный из sproc, в десятичный при построении сложного типа?