Breeze Sharp - 扩展不使用lambda表达式

Pro*_*ech 34 c# breeze breeze-sharp

当我尝试通过lambda扩展导航属性时,如下所示:

query = query.Expand(x => x.Dealers);
Run Code Online (Sandbox Code Playgroud)

我的查询失败了

这是一条失败的消息

内在例外

内在例外

内部异常消息:

表达式'x => x.Dealers'不是导航路径的有效表达式.lambda表达式主体中唯一支持的操作是MemberAccess和TypeAs.表达式必须至少包含一个MemberAccess,并且不能以TypeAs结尾.

然而,当我尝试通过字符串参数进行扩展时:

query = query.Expand("Dealers");
Run Code Online (Sandbox Code Playgroud)

一切似乎都正常.

我的"地区"微风客户端实体:

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; }
}
Run Code Online (Sandbox Code Playgroud)

我的经销商导航实体:

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; }
}
Run Code Online (Sandbox Code Playgroud)

我最近的尝试是通过"ForeignKey"数据注释使外键关系显式,但结果错误仍然是相同的.

我正在使用breeze sharp v0.6.0.3.

更新1:它不是与上面完全相同的查询,但结果相同.只是Breeze.Sharp源代码的截图,我一直在逐步完成.这里有更大的图像

在此输入图像描述

小智 1

尝试如下

query = query.ToList().Expand(val => val.Dealers);
Run Code Online (Sandbox Code Playgroud)