Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mobile Services query exception

When I use code with generic:

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

where TParent: IEnity

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

I catch the exception:

The member 'Id' is not supported in the 'Where' Mobile Services query expression 'Convert(prnt).Id'.

But if I change the generic to type:

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

I have normal result. Why? And how can I use generic?

like image 744
R.Titov Avatar asked Jun 21 '13 11:06

R.Titov


1 Answers

Know that it's an old question but the answer is that you have to tell that this generic type is also a class.

where T : class, IEnity
like image 69
emilpytka Avatar answered Oct 04 '22 00:10

emilpytka