Breeze Sharp – 展开不能用lambdaexpression式工作

当我试图通过lambda扩展一个导航属性,如下所示:

query = query.Expand(x => x.Dealers); 

我的查询失败

这是一个失败的消息

内部例外

内部例外

内部exception消息:

expression式“x => x.Dealers”不是导航path的有效expression式。 lambdaexpression式主体中唯一受支持的操作是MemberAccess和TypeAs。 expression式必须至less包含一个MemberAccess,并且不能以TypeAs结尾。

然而,当我试图通过一个string参数进行扩展:

 query = query.Expand("Dealers"); 

一切似乎正常工作。

我的“地区”微风客户实体:

 public class Region : BaseEntity { public Region(); public NavigationSet<Dealership> Dealers { get; set; } public string Name { get; set; } public Region Parent { get; set; } public int? ParentId { get; set; } [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key] public int RegionId { get; set; } public string ShortName { get; set; } public RegionType Type { get; set; } } 

我的经销商导航实体:

 public class Dealership : BaseEntity { public Dealership(); public DateTime ActiveFrom { get; set; } public DateTime? ActiveTo { get; set; } public Brand Brand { get; set; } [ForeignKey("Brand")] public int BrandId { get; set; } public string DealerCode { get; set; } public DealerGroup DealerGroup { get; set; } [ForeignKey("DealerGroup")] public int? DealerGroupId { get; set; } public virtual NavigationSet<DealerIR> DealerIRs { get; set; } [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key] public int DealershipId { get; set; } public bool IsActive { get; set; } public string Line1 { get; set; } public string Line2 { get; set; } public string Line3 { get; set; } public string Line4 { get; set; } public string Line5 { get; set; } public string Name { get; set; } public string PostCode { get; set; } public Region Region { get; set; } [ForeignKey("Region")] public int RegionId { get; set; } } 

我最近的尝试是通过“ForeignKey”数据注释来使外键关系显式化,但是由此产生的错误仍然是一样的。

我正在使用breeze sharp v0.6.0.3。

更新1:这不是完全相同的查询如上,但相同的结果。 只是来自Breeze.Sharp源代码的屏幕截图,我一直在介绍。 这里放大图片

在这里输入图像说明

尝试如下

 query = query.ToList().Expand(val => val.Dealers); 
 query = query.Include(val => val.Dealers);