Orden múltiple Por con LINQ [duplicado]


Esta pregunta ya tiene una respuesta aquí:

Empiezo con una clase básica que quiero manipular en una Lista usando LINQ, algo así como lo siguiente:

public class FooBar   
{  
    public virtual int Id { get; set; }  
    public virtual string Foo{ get; set; }  
    public virtual string Bar{ get; set; }
}

Esto es lo que finalmente descubrí para resolver mi problema usando cosas que no son lambda LINQ.

// code somewhere else that works and gets the desired results  
var foobarList = GetFooBarList();  // Abstracted out - returns List<Foobar>  

// Interesting piece of code that I want to examine
var resultSet = from foobars in foobarList  
                orderby foobars.Foo, foobars.Bar  
                select foobars;

// Iterate and do something interesting  
foreach (var foobar in resultSet)  
{  
    // Do some code  
}

Lo que realmente tengo curiosidad se trata de si lo mismo se puede lograr utilizando los métodos de extensión basados en Lambda fuera de genericumerable genérico para lograr lo mismo. Google me dice que puedo hacer algo como lo siguiente para lograrlo

var resultSet = foobarList.OrderBy(x => new {x.Foo, x.Bar})  
                          .Select(x=>x);

Sin embargo, si lo hago, obtengo un error de tiempo de ejecución cuando golpeo la instrucción foreach. El error me dice que al menos un objeto tiene que implementar IComparible, que puedo ver que ya que estoy utilizando un tipo anónimo para el .Método OrderBy ().

Así que hay una manera de ¿lograr lo que quiero usando el método Lambda?


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52