Когда я пытаюсь расширить свойство навигации с помощью лямбда, например:
query = query.Expand(x => x.Dealers);
Мой запрос завершился неудачей с помощью
Внутреннее исключение
Внутреннее сообщение об исключении:
Выражение '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, который я прошел. Изображение здесь