Исключение запроса мобильных служб

Когда я использую код с универсальным:

    var parenttable = MobileService.GetTable<TParent>();
    var testid = await parenttable.Where(prnt => prnt.Id == 20).ToListAsync();

где TParent: IEnity

public interface IEnity
{
    int Id { get; set; }
}

Я ловлю исключение:

Член «Id» не поддерживается в выражении запроса «Где» Mobile Services «Convert(prnt).Id».

Но если я изменю общий тип на тип:

   var parenttable = MobileService.GetTable<Category>();
   var testid = await parenttable.Where(prnt => prnt.Id == 20).ToListAsync();

У меня нормальный результат. Почему? И как я могу использовать универсальный?


person R.Titov    schedule 21.06.2013    source источник


Ответы (1)


Знайте, что это старый вопрос, но ответ заключается в том, что вы должны сказать, что этот общий тип также является классом.

where T : class, IEnity
person us3r    schedule 11.02.2014