2016-01-06 4 views
0

У меня есть этот базовый класс для моих сущностейOData преобразования типов для числовых типов

public abstract class BaseEntity : IEntity, IAuditable 
{ 
    public long Id { get; set; } 
    ... 
} 

и два OData конечных точек наследующих EntityFrameworkDataService.

Моя первая служба использует EDMX, сгенерированную с использованием визуального дизайнера студийной студии, и в свойстве Id браузера сериализуется как числовой тип, как вы могли бы ожидать.

для второй конечной точки я решил отказаться от EDMX и использовать свободную конфигурацию, однако на этот раз свойство Id в браузере сериализуется как строка.

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

+0

Просьба свободно отправлять код конфигурации для некоторого класса сущностей, который происходит из BaseEntity. И соответствующий CSDL из ваших метаданных $. – lencharest

ответ

0

Ваш Id is long тип. для long значения, то вверх OData спецификации сериализации в JSON:


OData spec говорит:

IEEE754Compatible = истинный параметр формата указывает на то, что сервис должен сериализовать Edm.Int64 (длинный) и Edm.Decimal (десятичные) номера (включая odata.count, если требуется) в качестве строк. Это соответствует I-JSON.

Если не указано иное или указано как IEEE754Compatible = false, все номера ДОЛЖНЫ быть сериализованы как номера JSON.


Смежные вопросы