Мои несопоставленные свойства в бризе, кажется, не работают с проекцией
У меня есть следующая сущность:
public class Invoice
{
[Key]
public int Id { get; set; }
public DateTime? ArchiveDate { get; set; }
public DateTime? ClotureDate { get; set; }
...
}
Я хотел бы знать, архивируется ли мой счет или закрывается с использованием своего рода флага (логического). Для этой цели я добавил 2 несопоставленных свойства в свой объект Breeze, например:
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; } }
...
}
Теперь я могу запросить мою легкую сущность следующим образом:
var query = entityQuery.from("Invoices")
.where('id', '==', id)
.toType('Invoice');
Вызов выше вернет все свойства моего счета-фактуры (в том числе заархивированные и закрытые). Это работает хорошо.
Но мне нужно только несколько конкретных свойств (для производительности). Тогда я пытаюсь:
var query = entityQuery.from("Invoices")
.where('id', '==', id)
.select("id, archived, clotured")
.toType('Invoice');
Я получил ошибку:Указанный тип члена «Архивный» не поддерживается в LINQ to Entities. Поддерживаются только инициализаторы, элементы сущностей и свойства навигации сущностей.
Очень расстраивает. Любая идея, почему я не могу выполнить такой запрос?
Или, может быть, у кого-то есть другое решение?
Большое спасибо.