Mis propiedades no asignadas en Breeze no parecen funcionar con una proyección
Tengo la siguiente entidad:
public class Invoice
{
[Key]
public int Id { get; set; }
public DateTime? ArchiveDate { get; set; }
public DateTime? ClotureDate { get; set; }
...
}
Me gustaría saber si mi factura está archivada o cerrada usando un tipo de bandera (boolean). Para ese propósito, agregué 2 propiedades no asignadas en mi entidad de Breeze como esta:
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; } }
...
}
Ahora puedo consultar mi entidad brisa de esta manera:
var query = entityQuery.from("Invoices")
.where('id', '==', id)
.toType('Invoice');
La llamada anterior devolverá todas las propiedades de la entidad de mi factura (incluidas las archivadas y las coasqueadas). Funciona bien.
Pero solo necesito unas pocas propiedades específicas (para el rendimiento). Entonces trato de
var query = entityQuery.from("Invoices")
.where('id', '==', id)
.select("id, archived, clotured")
.toType('Invoice');
Me salió el errorEl miembro de tipo especificado 'Archivado' no es compatible con LINQ to Entities. Solo se admiten los inicializadores, los miembros de entidad y las propiedades de navegación de entidad.
Muy frustrante. ¿Alguna idea de por qué no puedo realizar tal consulta?
¿O tal vez alguien tiene otra solución?
Muchas gracias.