powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание фильтра иньекций
25 сообщений из 155, страница 2 из 7
Создание фильтра иньекций
    #37845329
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Starlex, на самом деле отличная "технология", просто она зашла в эволюционный тупик, собственно в нем и останется
Ее нужно было попробовать, чтобы понять чем лучше/хуже чем EF

К сожалению (или к счастью) мне довелось разрабатывать с пару месяцев проект, где активно юзался Linq2SQL, и ты даже не представляешь какие невероятные ограничения/фичи вылазили в момент разработки
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845333
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS2. LinqToXml - своего рода тоже orm
Ты чё там у себя куришь, друх? :)

SanSYSВот LINQ, экспрешены и рефлексия - эта фичи, это действительно мегафичи, помогающие как быстро разработать качественное приложение, так и быстро сделать из него полное говно
Э, атец, так не пойдет. Так можно любой мартышке дать гранату, она в миг подорвется на ней. Любой код в плохих руках может привести к апокалипсису.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845335
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSК сожалению (или к счастью) мне довелось разрабатывать с пару месяцев проект, где активно юзался Linq2SQL, и ты даже не представляешь какие невероятные ограничения/фичи вылазили в момент разработки
Список этих ограничений в студию, будем разжевывать каждое.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845359
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSК сожалению (или к счастью) мне довелось разрабатывать с пару месяцев проект, где активно юзался Linq2SQL, и ты даже не представляешь какие невероятные ограничения/фичи вылазили в момент разработки

можно пруфы? а то юзал и ничего..тот же stackoverflow живет на нем и тоже ничего..ну да там узкие места через Dapper.net(клевая микро орм-ка) но в большей части старый добрый Linq2SQL
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845364
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно унылым было до четверки. Сейчас это вещь.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845396
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSanSYS2. LinqToXml - своего рода тоже orm
Ты чё там у себя куришь, друх? :)Забей )
МСУSanSYSК сожалению (или к счастью) мне довелось разрабатывать с пару месяцев проект, где активно юзался Linq2SQL, и ты даже не представляешь какие невероятные ограничения/фичи вылазили в момент разработки
Список этих ограничений в студию, будем разжевывать каждое.
Вот я ща возьму и все напишу, не.. в общем что помню:
1. иногда невероятно простые запросы приходилось писать через жопу, как минимум результирующий код выглядел не явно, из-за чего один программист не до конца понимал что и как делает запрос другого программиста
2. были проблемы с (де)сериализацией сущностей и аттачем к контексту
3. ORM не всегда строил оптимальные запросы, что приводило в п. 1
4. были какие-то приколы с Nullable типами и наследованием, уж сорри, но без подробностей
Полагаю что минусы тех или иных ORM достаточно подробно описываются в просторах интернета, ну и костыли/решения для каждого из минусов
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845402
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выплыло :) 8272721 МСУМне тоже Linq2SQL понравился, подсел на него в нескольких проектах... Уроды.

P.S. Мс-овцы решили потренироваться на подопытных крысках (нас), и это им удалось...
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845421
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS, прости, но ниачем. Ты и сам понимаешь это :-)
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845587
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, а то, все решаемо
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845590
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYSМСУ, а то, все решаемо
В любом случае, если стоит выбор: Linq 2 SQL или ковыряние в датасетах с SqlCommand, я выберу первое.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845636
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSanSYSМСУ, а то, все решаемо
В любом случае, если стоит выбор: Linq 2 SQL или ковыряние в датасетах с SqlCommand, я выберу первое.

Согласен с МСУ в 98% случаев. Ни одна орм не гарантирует оптимальный запрос(это не её задача), но она избавляет от рутины. Но когда нужно чуть шустрее то привет либ микро орм построенные на собственно sqlcommand (а в лучшем случае там даже маппинг есть в объекты) либ прямой запрос
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845662
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofСогласен с МСУ в 98% случаев.
100% случаев. Комментарии ниже.

Если нужна оптимизация , никто не запрещает сделать вьюху / функцию / хранимую процедуру и намапить это добро на свой датаконтекст и так же использовать в прикладном коде Linq 2 SQL.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845697
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да же написал что согласен почти всегда с таким подходом.Но МСУ под чуть шустрее я подразумевал не скорость выполнения самого запроса. А скорость запроса + маппинг в объект.
Проверьте, сделайте 500 select-команд подряд и замапьте тысячи результатов в объекты определенных классов как долго это будет. А потом тоже самое но ручками. Сообствено изза этого и появилсь более легки так называемые микро орм: Dapper.net,BLToolkit.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845703
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSanSYSМСУ, а то, все решаемо
В любом случае, если стоит выбор: Linq 2 SQL или ковыряние в датасетах с SqlCommand, я выберу первое.
+1
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845718
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproof...сделайте 500 select-команд подряд и замапьте тысячи результатов в объекты определенных классов...
Это нагрузочный тест, или "живое" решение? Может это - просто гипербола?
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845729
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergebrainproof...сделайте 500 select-команд подряд и замапьте тысячи результатов в объекты определенных классов...
Это нагрузочный тест, или "живое" решение? Может это - просто гипербола?
из хорошо всем известного stackoverflow. Конечно можно ряд запросов через кеш протащить и будет быстрее. Кто ж спорит. Но речь не о том щас.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845732
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofя подразумевал не скорость выполнения самого запроса. А скорость запроса + маппинг в объект.
Вы издеваетесь? Маппинг - это доли миллисекунд :)
Хотите безмаппинговую скорость - это только ридер сможет дать. DataSet - это по сути такой же маппинг, принципиально ничем не отличающийся от маппинга в класс.

brainproofПроверьте, сделайте 500 select-команд подряд и замапьте тысячи результатов в объекты определенных классов как долго это будет.
Это будет не дольше загрузки наборов в датасет. Попробуйте сами.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845759
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где я писал про DataSet ? По моему я утвержала что орм все таки медленее чем ручное и в исключительных случаях можно погемороиться с ручным. не более. Да я уже тестит 500 запросов..ручное быстрее чем через орм. В ручном все упираеться в ридер и конструкторы.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845799
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofА где я писал про DataSet ? По моему я утвержала что орм все таки медленее чем ручное и в исключительных случаях можно погемороиться с ручным. не более. Да я уже тестит 500 запросов..ручное быстрее чем через орм. В ручном все упираеться в ридер и конструкторы.
Хорошо, что ты понимаешь под "ручным" обращением к базе?
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845820
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproof, посмотри на результаты замеров:

Замеры скорости
Код: c#
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.
using System;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Linq;

namespace LinqVsDataSet
{
    class Program
    {
        static void Main(string[] args)
        {
            string connection = "Data Source=.;Initial Catalog=AdventureWorks;Integrated Security=True";

            using (var sql = new SqlConnection(connection))
            using (var linq = new DbDataContext(connection))
            {
                sql.Open();

                // Замеры LINQ
                Execute(() =>
                {
                    var data = linq.Customers.ToList();
                });

                // Замеры DataSet
                Execute(() =>
                {
                    var data = new DataTable();
                    data.Load(new SqlCommand("SELECT * FROM Sales.Customer", sql).ExecuteReader());
                });

                // Чистый фетч ридера без маппинга
                Execute(() =>
                {
                    using (var reader = new SqlCommand("SELECT * FROM Sales.Customer", sql).ExecuteReader())
                    {
                        while (reader.Read())
                        {

                        }
                    }
                });
            }

            Console.Read();
        }

        static void Execute(ActionDelegate Action)
        {
            var sw = Stopwatch.StartNew();
            for (int i = 0; i < 10; i++)
            {
                Action();
            }
            Console.WriteLine(sw.ElapsedMilliseconds);
        }
        delegate void ActionDelegate();
    }
}



Linq 2 SQL почти так же шустр, как фетч самого ридера. Скорость маппинга просто поражает своей быстротой! DataSet / DataTable курит в сторонке.

А теперь расскажи нам, ламерам, что ты там у себя мерял? Не температуру ли головного мозга? :)
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845822
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845830
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю что так напрягло МСУ) Описываю : Создание конекшена, комнады, прописывание команды(текст, хранимка), параметров , выполнение через ридер и подача данных с ридера в конструктро конкретного класса. Я не понимаю что так смушает? так цепляться за словами ("ручное"). Вроде писал еще про исключительные случаи когда может понадобиться такой гемор описаный выше ..где вероятность выстрелить в ногу повышается как и ресурсы на сопровождение. Или вы не согласны с утверждением что орм медленее?
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845841
brainproof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да я другого не ожидао от тебя МСУ) только критика и как ты бьеш в грудь ..наверное люди глупее тебя раз делают микро орм. а парни из stackoverflow глупее тебя видать , раз в некоторых случаях отказались от Linq2SQL . я разве писал что надо отказываться от ОРМ? Может все таки внимательнее читать а?)
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845845
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofне знаю что так напрягло МСУ)
Твоё неумение называть вещи своими именами.

brainproofОписываю : Создание конекшена, комнады, прописывание команды(текст, хранимка), параметров , выполнение через ридер и подача данных с ридера в конструктро конкретного класса. Я не понимаю что так смушает?
Это обычный маппинг с ридера, только ручками. Ты хочешь сказать, что твой гавномаппинг отработает быстрее Linq маппера? Не боишься обосраться? :)
Вот тут выкладывал свой маппер 10281093 , отлично маппит, использую в прикладном коде. Еще производительнее можнос сделать через Emit (у меня есть такой же аналог, просто еще не выкладывал в форум). Маппит вообще шикарно. И то, весь этот мусор меркнет по сравнению со скоростью маппинга в Linq 2 SQL. И тут появляешься ты и рвешь правду матку - маппер Linq гавно. А за слова ответить можешь кодом? :)

brainproofИли вы не согласны с утверждением что орм медленее?
Она медленнее разве-что ридера. Но чистый ридер нафик никому не уперся, нужна объектная обертка (классы, датасет и т.п.). Вот тут Linq 2 SQL вне конкуренции. Он вроде маппит даже шустрее, чем хибер (нужно проверять).

Так что brainproof, пока слив.
...
Рейтинг: 0 / 0
Создание фильтра иньекций
    #37845851
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainproofда я другого не ожидао от тебя МСУ) только критика и как ты бьеш в грудь ..наверное люди глупее тебя раз делают микро орм. а парни из stackoverflow глупее тебя видать , раз в некоторых случаях отказались от Linq2SQL . я разве писал что надо отказываться от ОРМ? Может все таки внимательнее читать а?)
У меня критика по делу и с аргументами. А пустотрёпство, которое вещаешь ты - не для меня.

P.S. Слышь, человек, я тебе код написал, с замерами скорости. От тебя жду того же. Ну что, докажешь, что Linq 2 SQL маппит медленнее, чем твой гавнокод?
...
Рейтинг: 0 / 0
25 сообщений из 155, страница 2 из 7
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Создание фильтра иньекций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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