Minhas propriedades não mapeadas na brisa não parecem funcionar com uma projeção
Eu tenho a seguinte entidade:
public class Invoice
{
[Key]
public int Id { get; set; }
public DateTime? ArchiveDate { get; set; }
public DateTime? ClotureDate { get; set; }
...
}
Gostaria de saber se minha fatura está arquivada ou fechada usando um tipo de sinalizador (booleano). Para o efeito, adicionei 2 propriedades não mapeadas na minha entidade breeze assim:
public class Invoice
{
[Key]
public int Id { get; set; }
public DateTime? ArchiveDate { get; set; }
public DateTime? ClotureDate { get; set; }
[NotMapped]
public bool Archived { get { return ArchiveDate.HasValue; } }
[NotMapped]
public bool Clotured { get { return ClotureDate.HasValue; } }
...
}
Agora posso consultar minha entidade de brisa assim:
var query = entityQuery.from("Invoices")
.where('id', '==', id)
.toType('Invoice');
A chamada acima retornará todas as propriedades da minha entidade de fatura (incluindo arquivadas e coaguladas). Isso funciona bem.
Mas preciso apenas de algumas propriedades específicas (para desempenho). Então eu tento:
var query = entityQuery.from("Invoices")
.where('id', '==', id)
.select("id, archived, clotured")
.toType('Invoice');
Eu recebi o erro:O membro do tipo especificado 'Arquivado' não é suportado no LINQ to Entities. Somente inicializadores, membros de entidades e propriedades de navegação de entidade são suportados.
Muito frustrante. Alguma idéia porque eu não posso realizar essa consulta?
Ou talvez alguém tenha outra solução?
Muito Obrigado.