Как добавить свойство в 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.
Может быть, я думаю об этом, и есть более простой способ. Я открыт для любых предложений.