2017-12-01 17 views
1

C#でOrderBy IQueryable with Reflectionを使用すると、プロパティ属性で並べ替えるプロパティ名たとえばAttribute Name = "Key"を取得できますか?で解決C#OrderBy IQueryable <T>名前で属性が「Key」などの属性を持つプロパティでリフレクションする場合

+0

このような何か? [動的なLINQ OrderBy on 'IEnumerable '](https://stackoverflow.com/questions/41244/dynamic-linq-orderby-on-ienumerablet/233505#233505) –

+1

あなたは既に持っているものの例を教えてください。 –

答えて

0

System.Linq.Dynamicenter link description here

var keyPropertyName = typeof(TEntity).GetProperties() 
    .First(p => p.CustomAttributes.Any(ca => ca.AttributeType.Name == "KeyAttribute")).Name; 

return _dbSet.OrderBy(keyPropertyName).Skip(skip).Take(take).ToList(); 
関連する問題