Подтвердить что ты не робот

Breeze Sharp - не работает с выражением лямбда

Когда я пытаюсь расширить свойство навигации с помощью лямбда, например:

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

Мой запрос завершился неудачей с помощью

This is a failure message

Внутреннее исключение

Inner Exception

Внутреннее сообщение об исключении:

Выражение 'x = > x.Dealers' не является допустимым выражением для пути навигации. Единственными поддерживаемыми операциями внутри тела выражения лямбда являются MemberAccess и TypeAs. Выражение должно содержать как минимум один MemberAccess и не может заканчиваться TypeAs.

Тем не менее, когда я пытаюсь расширить с помощью строкового параметра:

query = query.Expand("Dealers");

Все работает правильно.

Мой клиентский агент "Region" Breeze:

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; }
}

Мой навигационный объект Dealership:

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, который я прошел. Изображение здесь

enter image description here

4b9b3361

Ответ 1

Попробуйте следующее

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

Ответ 2

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