У меня есть DbDataController, который выдает список оборудования.
public IQueryable<BettrFit.Models.Equipment> GetEquipment() {
var q= DbContext.EquipmentSet.OrderBy(e => e.Name);
return q;
}
В моем представлении лесов все выглядит хорошо.
Но оборудование содержит член HashSet класса EquipmentType.Я хочу показать этот тип в своем представлении, а также иметь возможность добавлять данные в коллекцию EquipmentType Equipment (через список множественного выбора).
Но если я попытаюсь включить "EquipmentType" в мой запрос linq происходит сбой во время сериализации .
public IQueryable<BettrFit.Models.Equipment> GetEquipment() {
var q= DbContext.EquipmentSet.Include("EquipmentType").OrderBy(e => e.Name);
return q;
}
"Граф объектов для типа EquipmentType содержит циклы и не может быть сериализован, если отслеживание ссылок отключено"
Как включить "Возврат ссылок "?
Может быть, проблема в том, что EquipmentType имеет обратную ссылку через HashSet?Но я не включаю ("EquipmentType.Equipment") в свой запрос.Так что все должно быть в порядке.
Как Upshot генерирует модель?Я нахожу только файл EquipmentViewModel.js, но он не содержит членов модели.
Вот мои классы моделей:
public class Equipment
{
public Equipment()
{
this.Exercise = new HashSet<Exercise>();
this.EquipmentType = new HashSet<EquipmentType>();
this.UserDetails = new HashSet<UserDetails>();
}
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Picture { get; set; }
public string Link { get; set; }
public string Producer { get; set; }
public string Video { get; set; }
public virtual ICollection<EquipmentType> EquipmentType { get; set; }
public virtual ICollection<UserDetails> UserDetails { get; set; }
}
public class EquipmentType
{
public EquipmentType()
{
this.Equipment = new HashSet<Equipment>();
this.UserDetails = new HashSet<UserDetails>();
}
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual ICollection<Equipment> Equipment { get; set; }
public virtual ICollection<UserDetails> UserDetails { get; set; }
}