Вы не можете сделать это вообще, если вы не ограничите параметр типа T
типом, у которого есть свойство, по которому вы хотите отсортировать. Например, если у вас есть интерфейс с именем IHaveTheProperty
, вы можете сделать:
public virtual IEnumerable<T> GetAll<T>() where T : class, IHaveTheProperty
{
using (var ctx = new DataContext())
{
ctx.ObjectTrackingEnabled = false;
var table = ctx.GetTable<T>().ToList().AsReadOnly().OrderBy(t=>t.TheProperty);
return table;
}
}
Но без ограничений вы можете использовать только методы типа System.Object
.
Созданы классы LINQ to SQL partial
. Это означает, что вы можете создать другую часть класса, чтобы заставить один из этих классов реализовать ваш интерфейс:
public partial class Address : IHaveTheProperty
{
}