Порядок LINQ и логическое
У меня есть запрос linq, который я хочу заказать по f.bar, который является строкой, но я также хочу заказать его по f.foo, который является логическим полем. Как и запрос ниже.
(from f in foo
orderby f.foo, f.bar
select f)
хотя это компилирует он не работает, как ожидалось. Он просто заказывает f. bar, игнорируя логическое поле.
Я веду себя глупо, я знаю, но что мне нужно сделать, чтобы получить такое поведение?
спасибо
3 ответа:
Это должно работать нормально - он должен заказать объекты с
false
foo значение во-первых, то те, сtrue
значение foo.Это, безусловно, работает в LINQ to Objects - какой поставщик LINQ вы на самом деле используете?
вот пример LINQ to Objects который тут работы:
using System; using System.Linq; public static class Test { public static void Main() { var data = new[] { new { x = false, y = "hello" }, new { x = true, y = "abc" }, new { x = false, y = "def" }, new { x = true, y = "world" } }; var query = from d in data orderby d.x, d.y select d; foreach (var result in query) { Console.WriteLine(result); } } }