Как добавить свойство в EntityType после его добавления в хранилище данных?

У меня есть модель Entity Framework Code First с не сопоставленным столбцом, который я все еще хочу сохранить между сервером и клиентом. Модель выглядит похожей на это со многими другими свойствами:

public class OwnerInformation
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    [MaxLength(16)]
    public byte[] SSNEncrypted { get; set; }

    [NotMapped]
    [MaxLength(9)]
    [MinLength(9)]
    public string SSN { get; set; }
}

Когда Breeze получает метаданные, SSN не является его частью, но когда данные передаются по проводам, SSN находится там. Я хотел бы позволить breeze разобраться с отображением через метаданные, но я бы хотел иметь возможность передавать SSN между клиентом и сервером и отслеживать его состояние, так как мне нужно зашифровать его перед его сохранением в БД.

Я попытался добавить его после получения метаданных следующим образом:

var ownerType = manager.metadataStore.getEntityType('OwnerInformation');
var sSN = new breeze.DataProperty({
  name: 'sSN',
  dataType: breeze.DataType.String,
  isNullable: false,
  maxLength: 9
});
ownerType.addProperty(sSN);

но я получаю ошибку:The 'OwnerInformation:#Models' EntityType has already been added to a MetadataStore and therefore no additional properties may be added to it.

Может быть, я думаю об этом, и есть более простой способ. Я открыт для любых предложений.

Ответы на вопрос(2)

Ваш ответ на вопрос