Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Запрос Linq to Sql с OrderBy / 23 сообщений из 23, страница 1 из 1
01.06.2010, 14:16
    #36661332
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
есть запрос
Код: plaintext
1.
2.
3.
var ret= Nortwind.Customers.Where(c =>  c.CompanyName.StartsWith(filter.Company));

var ret= ret.OrderBy(c=>????);// ColumnName

как получить сортировку если известно имя колонки по кот. проводится сортировка
...
Рейтинг: 0 / 0
01.06.2010, 14:43
    #36661418
Mihanya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
pation,

Код: plaintext
1.
var ret= ret.OrderBy(c=>c.ColumnName);
...
Рейтинг: 0 / 0
01.06.2010, 15:22
    #36661531
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
не верю, что pation задал такой простой вопрос. Что-то не так.
...
Рейтинг: 0 / 0
01.06.2010, 16:45
    #36661817
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
нет не так
есть стринг
Код: plaintext
1.
string ColumnName="CustomerId";

надо что б получилось ret.OrderBy(c=>c.CustomerId)
...
Рейтинг: 0 / 0
01.06.2010, 16:45
    #36661819
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
причём на сервере!!!
...
Рейтинг: 0 / 0
01.06.2010, 16:53
    #36661853
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
В EF проще было бы через Entity SQL. А тут наверное геморойно как-то.
...
Рейтинг: 0 / 0
01.06.2010, 17:58
    #36662124
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
вобщем не понятно, если линку ту скул занимается тем что генерит запросы на сервер, то как мне сгенерить выражение ордер бай?
...
Рейтинг: 0 / 0
02.06.2010, 07:22
    #36662898
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
Код: plaintext
1.
2.
3.
4.
5.
using System.Linq.Dynamic; 
...
var ret= Nortwind.Customers.Where(c =>  c.CompanyName.StartsWith(filter.Company));

var ret = ret.OrderBy("ColumnName");
...
Рейтинг: 0 / 0
02.06.2010, 12:51
    #36663713
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
pation,

оно?
...
Рейтинг: 0 / 0
02.06.2010, 13:06
    #36663776
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
да оно
...
Рейтинг: 0 / 0
02.06.2010, 13:16
    #36663817
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
блин, не могу найти этот наймспейс
...
Рейтинг: 0 / 0
02.06.2010, 13:19
    #36663832
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
Кажется я прогнал. Это что-то стороннее.
...
Рейтинг: 0 / 0
02.06.2010, 13:24
    #36663847
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
Это Скота Гу поделка .
...
Рейтинг: 0 / 0
02.06.2010, 14:30
    #36664026
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
buredне верю, что pation задал такой простой вопрос. Что-то не так.


...P.S. Зато вещи мудрые пишет и не смущается :)
...
Рейтинг: 0 / 0
02.06.2010, 23:18
    #36665387
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
pation,

Sytem.Linq.Dynamic
...
Рейтинг: 0 / 0
02.06.2010, 23:19
    #36665390
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
Это к написанному bured
...
Рейтинг: 0 / 0
02.06.2010, 23:26
    #36665404
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
ViPRospation,

Sytem.Linq.Dynamic
слышал звон. Сборка какая?
...
Рейтинг: 0 / 0
02.06.2010, 23:29
    #36665413
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
bured,

сам же ведь указал, я просто не увидел про Гу. Исходники лежать в Samples C# несколько лет уже

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
namespace System.Linq.Dynamic
{
    public static class DynamicQueryable
    {
        public static IQueryable<T> Where<T>(this IQueryable<T> source, string predicate, params object[] values) {
            return (IQueryable<T>)Where((IQueryable)source, predicate, values);
        }

        public static IQueryable Where(this IQueryable source, string predicate, params object[] values) {
            if (source == null) throw new ArgumentNullException("source");
            if (predicate == null) throw new ArgumentNullException("predicate");
            LambdaExpression lambda = DynamicExpression.ParseLambda(source.ElementType, typeof(bool), predicate, values);
            return source.Provider.CreateQuery(
                Expression.Call(
                    typeof(Queryable), "Where",
                    new Type[] { source.ElementType },
                    source.Expression, Expression.Quote(lambda)));
        }

        public static IQueryable Select(this IQueryable source, string selector, params object[] values) {
            if (source == null) throw new ArgumentNullException("source");
            if (selector == null) throw new ArgumentNullException("selector");
            LambdaExpression lambda = DynamicExpression.ParseLambda(source.ElementType, null, selector, values);
            return source.Provider.CreateQuery(
                Expression.Call(
                    typeof(Queryable), "Select",
                    new Type[] { source.ElementType, lambda.Body.Type },
                    source.Expression, Expression.Quote(lambda)));
        }

        public static IQueryable<T> OrderBy<T>(this IQueryable<T> source, string ordering, params object[] values) {
            return (IQueryable<T>)OrderBy((IQueryable)source, ordering, values);
        }

        public static IQueryable OrderBy(this IQueryable source, string ordering, params object[] values) {
            if (source == null) throw new ArgumentNullException("source");
            if (ordering == null) throw new ArgumentNullException("ordering");
            ParameterExpression[] parameters = new ParameterExpression[] {
                Expression.Parameter(source.ElementType, "") };
            ExpressionParser parser = new ExpressionParser(parameters, ordering, values);
            IEnumerable<DynamicOrdering> orderings = parser.ParseOrdering();
            Expression queryExpr = source.Expression;
            string methodAsc = "OrderBy";
            string methodDesc = "OrderByDescending";
            foreach (DynamicOrdering o in orderings) {
                queryExpr = Expression.Call(
                    typeof(Queryable), o.Ascending ? methodAsc : methodDesc,
                    new Type[] { source.ElementType, o.Selector.Type },
                    queryExpr, Expression.Quote(Expression.Lambda(o.Selector, parameters)));
                methodAsc = "ThenBy";
                methodDesc = "ThenByDescending";
            }
            return source.Provider.CreateQuery(queryExpr);
        }

        public static IQueryable Take(this IQueryable source, int count) {
            if (source == null) throw new ArgumentNullException("source");
            return source.Provider.CreateQuery(
                Expression.Call(
                    typeof(Queryable), "Take",
                    new Type[] { source.ElementType },
                    source.Expression, Expression.Constant(count)));
        }
....
...
Рейтинг: 0 / 0
02.06.2010, 23:34
    #36665428
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
ViPRos,

Саха, ты не внимателен. Разобрались уже.

Я бы конечно EF использовал, а не L2S.
...
Рейтинг: 0 / 0
02.06.2010, 23:36
    #36665437
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
bured,

ну я не видел про Гу.
просто жаль что многие не знают и не пользуются :(
...
Рейтинг: 0 / 0
02.06.2010, 23:38
    #36665444
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
а по мне все ормы зло
просто удобно к объектам линк, тем более с тулукап, а тут еще и кортежиоспели вместо тупых "классов", т.е можно проиндексироваться почти
ну ладно
...
Рейтинг: 0 / 0
02.06.2010, 23:45
    #36665461
bured
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
Ну для поделок средней величины и паршивости самое то. Ускоряет разработку значительно.
...
Рейтинг: 0 / 0
02.06.2010, 23:51
    #36665469
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос Linq to Sql с OrderBy
bured,

ну я про величину поделок не могу ничего сказать кроме того, что например, расписание для 300000 операций (длительностью от часа до месяцев, многопроуессорная обработка, мнжественные календари у каждого процессора и т.д.) строится за 2 минуты частично линк то объект, частично хранимки.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Запрос Linq to Sql с OrderBy / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]