34

次のように、ラムダを介してナビゲーション プロパティを拡張しようとすると:

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

私のクエリは失敗します

これは失敗メッセージです

内部例外

内部例外

内部例外メッセージ:

式 'x => x.Dealers' は、ナビゲーション パスの有効な式ではありません。ラムダ式の本体内でサポートされている唯一の操作は、MemberAccess と TypeAs です。式には少なくとも 1 つの MemberAccess が含まれている必要があり、TypeAs で終わることはできません。

それでも、文字列パラメーターを介して展開しようとすると:

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」データ注釈を介して外部キー関係を明示的にすることでしたが、結果のエラーは同じです。

ブリーズシャープv0.6.0.3を使用しています。

更新 1: 上記とまったく同じクエリではありませんが、同じ結果です。私がステップスルーしてきた Breeze.Sharp ソースコードのスクリーンショットです。拡大画像はこちら

ここに画像の説明を入力

4

2 に答える 2