MVC 4, Upshot лица циклические ссылки

У меня есть 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; }
}

Ответы на вопрос(4)

Ваш ответ на вопрос