Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1710
>Агнец за бортом, 3 июл 18, 16:47 [21539864]
>...То EF Extensions задаром не нужен, а тот же Dapper - окей?...

А хранимую процедуру из EF вызвать нельзя?
Как то так:
      . . . 
      //-- Удалим данный срез
      asp = new OracleParameter[2]{
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_dateizm", dt_srez_new) //-- время среза
      };
      lst_Entity = null;  lst_Entity = new List<row_Entity>();
      await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Del_Srez", wsp.sp_Sel, asp, RowToEntity));
      if (wsp.wspErr != null) { сообщение = wsp.wspErr; goto mp1; }

      //-- Покажем результирующую выборку 
      if (lst_Entity.Count != 0) {
        //-- Не штатная ситуация
        MessageBox.Show("Ошибка удаления старого среза", caption_Entity, MessageBoxButton.OK);
        lst_Entity = lst_Entity.OrderBy(x => x.mesto).ThenByDescending(x => x.rn).ThenBy(x => x.pk).ToList();
      }
      oc_Entity = new ObservableCollection<row_Entity>(lst_Entity);
      lst_Entity = null;
      dgv_Entity.ItemsSource = oc_Entity;
      . . .

В моём случае хранимка выдаёт выборку: пустую, если ок; или с не доделанной работой.
5 июл 18, 08:53    [21544754]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35700
ВМоисеев,
Не читатель?
Вызывай 21539908
Только зачем ты код привел непонятно.
5 июл 18, 08:58    [21544766]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25854
ВМоисеев
>Агнец за бортом, 3 июл 18, 16:47 [21539864]
>...То EF Extensions задаром не нужен, а тот же Dapper - окей?...

А хранимую процедуру из EF вызвать нельзя?
Как то так:
      . . . 
      //-- Удалим данный срез
      asp = new OracleParameter[2]{
        new OracleParameter("cur_viborka", OracleDbType.Cursor, ParameterDirection.Output),
        new OracleParameter("x_dateizm", dt_srez_new) //-- время среза
      };
      lst_Entity = null;  lst_Entity = new List<row_Entity>();
      await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Del_Srez", wsp.sp_Sel, asp, RowToEntity));
      if (wsp.wspErr != null) { сообщение = wsp.wspErr; goto mp1; }

      //-- Покажем результирующую выборку 
      if (lst_Entity.Count != 0) {
        //-- Не штатная ситуация
        MessageBox.Show("Ошибка удаления старого среза", caption_Entity, MessageBoxButton.OK);
        lst_Entity = lst_Entity.OrderBy(x => x.mesto).ThenByDescending(x => x.rn).ThenBy(x => x.pk).ToList();
      }
      oc_Entity = new ObservableCollection<row_Entity>(lst_Entity);
      lst_Entity = null;
      dgv_Entity.ItemsSource = oc_Entity;
      . . .


В моём случае хранимка выдаёт выборку: пустую, если ок; или с не доделанной работой.

Как-то так нельзя, ТС под веб пишет
5 июл 18, 08:59    [21544769]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35700
hVostt,
Бывает, по одному короткому строится план и остальные уже по этому плану.
Так что неоднозначно.
Да и неинтересно imho.
Несколько через точку с запятой и так идут одной пачкой.
5 июл 18, 09:02    [21544775]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25854
ВМоисеев,

ну и "Массивный инсерт" как Ваша процедура выполнит? BULK INSERT FROM 'data_file' что-ли?
5 июл 18, 09:06    [21544782]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
hVostt
Member

Откуда:
Сообщений: 14975
ВМоисеев
А хранимую процедуру из EF вызвать нельзя?


Вообще можно. Но в EF принято, если используются хранимки, то только как команды на INSERT/UPDATE/DELETE, вместо генерации SQL. Как в прочем и в любом другом ORM такого класса.

Какие-то кастомные хранимки выполнять из EF, которые хрен знает что там делают и оставляют контекст в полном недоумении, за такое в нормальных конторах ругают, наказывают, увольняют.

А там, где хаос, бардак и властвует полнейший непрофессионализм помешанный на глупость, можно. Т.е. подобное встречается, но мир он такой.
5 июл 18, 09:20    [21544812]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
hVostt
Member

Откуда:
Сообщений: 14975
ВМоисеев
В моём случае хранимка выдаёт выборку: пустую, если ок; или с не доделанной работой.


Да пожалуйста, но это десктоп, в котором принципы работы с данными несколько отличаются от веб.
5 июл 18, 09:21    [21544819]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1710
>hVostt, сегодня, 09:20 [21544812]
>...Какие-то кастомные хранимки выполнять из EF, которые хрен знает что там делают …
Спасибо, понял.
5 июл 18, 09:53    [21544916]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1710
>skyANA, сегодня, 09:06 [21544782]

>ну и "Массивный инсерт" как Ваша процедура выполнит?...

1. Сериализуем все параметры пакета для INSERT в string (<длина параметра в символах, символическое тело параметра>).
2. Вызываем хранимую процедуру с передачей сериализованного пакета
5 июл 18, 10:37    [21545089]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 25854
ВМоисеев
>skyANA, сегодня, 09:06 [21544782]

>ну и "Массивный инсерт" как Ваша процедура выполнит?...

1. Сериализуем все параметры пакета для INSERT в string (<длина параметра в символах, символическое тело параметра>).
2. Вызываем хранимую процедуру с передачей сериализованного пакета

И где это в Вашем примере?
5 июл 18, 10:38    [21545095]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1710
>skyANA, сегодня, 10:38 [21545095]
>И где это в Вашем примере?

Пример на DELETE пачкой.
А в принципе то, что не так?
Сериализуем (конвертируем) параметр в строку - получаем тело и длину, конвертируем длину в 4-х символьную строку, записываем результат в сериализацию.
5 июл 18, 10:51    [21545141]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 35700
ВМоисеев
А в принципе то, что не так?

Давай не мусорить тему про EF и нетрадиционно его использовать).
Тебе hVostt перевел, что можно вызвать, но хрен знает что)).
Заканчивай флудить со своим примером.
5 июл 18, 10:55    [21545153]     Ответить | Цитировать Сообщить модератору
 Re: removeRange<>() - удаляет как надо, или по одной записи?  [new]
ВМоисеев
Member

Откуда: Редкино
Сообщений: 1710
>Petro123, сегодня, 10:55 [21545153]
>Заканчивай флудить со своим примером.
Спросили - ответил.
Пока же мне глубоко наплевать на EF.
5 июл 18, 11:13    [21545236]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить