我有以下实体:
public class Invoice
{
[Key]
public int Id { get; set; }
public DateTime? ArchiveDate { get; set; }
public DateTime? ClotureDate { get; set; }
...
}
我想知道我的发票是使用一种标志(布尔值)存档还是关闭。为此,我在我的微风实体中添加了 2 个未映射的属性,如下所示:
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');
上面的调用将返回我的发票实体的所有属性(包括归档和 clotured)。它运作良好。
但我只需要一些特定的属性(用于性能)。然后我尝试:
var query = entityQuery.from("Invoices")
.where('id', '==', id)
.select("id, archived, clotured")
.toType('Invoice');
我收到错误消息:LINQ to Entities 不支持指定的类型成员“存档”。仅支持初始化程序、实体成员和实体导航属性。
非常令人沮丧。知道为什么我不能执行这样的查询吗?
或者也许有人有其他解决方案?
非常感谢。