«SportTeam» не является членом типа «ContactSeasonRelations»? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть (среди прочих) эти три класса:

public class Contact {
    public long Id { get; set; }
    public virtual ICollection<ContactSeasonRelation> ContactSeasonRelations { get; set; }
}

public class ContactSeasonRelation {
    public long ContactId { get; set; }
    public Contact Contact { get; set; }

    public long SeasonId { get; set; }
    public Season Season { get; set; }

    public long? SportTeamId { get; set; }
    public SportTeam SportTeam { get; set; }
}

public class SportTeam {
    public long Id { get; set; }
    public virtual ICollection<ContactSeasonRelation> ContactSeasonRelations { get; set; }
}

И у меня есть помощник, который поможет мне составить запрос, чтобы получить список для заполнения таблицы на странице html:

    public static Expression<Func<T, object>> FieldNameToExpression<T>(string fieldName) where T : class
    {
        var tokens = fieldName.Split('.').Select(t => t.FirstToUpperCase());
        var parameter = Expression.Parameter(typeof(T), "t");
        Expression memberExpression = parameter;

        foreach (var token in tokens)
        {
            memberExpression = Expression.PropertyOrField(memberExpression, token);
        }

        var body = Expression.Convert(memberExpression, typeof(object));
        var lambda = Expression.Lambda<Func<T, object>>(body, parameter);

        return lambda;
    }

Я пытаюсь создать список контактов, но когда я использую помощника для сортировки моего списка в ContactSeasonRelation.SportTeam, я получаю «необработанное исключение»:

ArgumentException: ' SportTeam 'не является членом типа' System.Collections.Generi c .ICollection`1 [ContactSeasonRelation] 'Имя параметра: propertyOrFieldName

Что я делаю не так? Я бы сказал, что SportTeam является членом ContactSeasonRelation?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...