JSON.net JsonIgnoreAttribute не работает со свойством EntityKey

Я использую JSON.net для сериализации моих объектов EntityFramework.

Раньше я создавал класс, который применяет атрибут «JsonIgnore» к свойству, а затем устанавливал атрибут «MetadataType» моего основного класса EntityFramework для этого вновь созданного класса.

Вот пример:

Класс, который будет применен к классу EF:

 public class Role_DoNotSerialize
    {
        [JsonIgnore]
        public string Users { get; set; }
    }

Файл частичного класса для класса EF:

[MetadataType(typeof(Role_DoNotSerialize))]
    public partial class Role
    { 
    }

В приведенном выше примере свойство «Пользователи» не будет сериализуется при сериализации объекта «Роль».

Моя проблема в том, что этот же метод не работает, когда я добавляю свойство EntityKey следующим образом:

public class Role_DoNotSerialize
    {
        [JsonIgnore]
        public string Users { get; set; }

        [JsonIgnore]
        public System.Data.EntityKey EntityKey { get; set; }
    }

Используя этот класс, свойство EntityKey все еще сериализуется. Что я делаю не так?

7
задан Amanda Kitson 21 December 2011 в 14:29
поделиться