質問

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?

役に立ちましたか?

解決

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top