powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / небольшая учетная система - Core?
23 сообщений из 123, страница 5 из 5
небольшая учетная система - Core?
    #39806808
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosДмитрий Мухпропущено...

Слив засчитан
Дмитрий! Какие могут быть блокировки при миллионе конкурентов?
Сахават, у выдуманной ситуации могут быть любые исходы.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806842
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще не пойму - какие такие особые дедлоки может создавать EF - он что, какой-то совершенно особенный SQL генерирует?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806861
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

для создания дедлока не нужен "особенный" SQL
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807468
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuProgaВот так
Код: 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.
public class BaseModelFactory<TEntity, TContext>
        where TEntity : class,IEntry, new()
        where TContext : DbContext, new()
    {
        string _connectionstring;
        DbContext _context;
        AsyncCallback _callback;

public BindingList<TEntity> GetSqlQueryData(bool addemptyrow, string sqltext, params object[] args)
        {
            _newitem = null;
            try
            {
                if (BaseContext != null)
                {
                    BaseContext.Dispose();
                    BaseContext = null;
                }
                BaseContext.Database.Connection.ConnectionString = _connectionstring;
                BaseContext.Set<TEntity>().SqlQuery(sqltext, args).ToList<TEntity>();
                if (addemptyrow)
                    AddNewItem(args);
                return BaseContext.Set<TEntity>().Local.ToBindingList();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return null;
            }
        }


я как бы не хейтер на форуме и это могут подтвердить другие но видя этот код я могу сказать одно у вас проблемы с архитектурой.
давайте разбирать вы при получение данных внезапно высвобождаете контекст бд а потом его магие куском кода ниже
Proga
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
DbContext BaseContext
        {
            get
            {
                if (_context == null) _context = new TContext();
                return _context;
            }
            set
            {
                _context = value;
            }
        }


восстанавливаете и прокидываете строку соединения что получить новый контект. это извините меня сранное днище.
фраза про моветон эм что???? если я не вижу тут кода адекватного...жалкое подобие на дженерик репо и Uow
я надеюсь ты вкурсе что ef плохо относиться если у тебя там в транзакции много вставок от 1к сущностей и лучше для этого использовать другие средства ввиде sqlbulk + транзакция или на худой коней чистый адо нет + транзакция опять же в коде


Petro123 в еф были хранимки не парься
Где вы обнаружили тысячи транзакций в первичной загрузке? о хоспади.....
handmadeFromRuАдо нет будет разбирать состояние контекста EF. Вот они какие новые архитекторы будущего.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807472
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухhandmadeFromRuпропущено...

я как бы не хейтер на форуме и это могут подтвердить другие но видя этот код я могу сказать одно у вас проблемы с архитектурой
это не код, это кусок г.
Прошу показать верх программерской мысли по первичной загрузке данных с помощью хп.
Либо вы, как многие тут, способны только жалом поводить и не более.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807484
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
Вам трудно будет сравнивать хп с..... хп.
Если хотите, сравните хп c таблицами.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807511
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaДмитрий Мухпропущено...

это не код, это кусок г.
Прошу показать верх программерской мысли по первичной загрузке данных с помощью хп.
Либо вы, как многие тут, способны только жалом поводить и не более.

Не оно? Raw SQL Queries
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807528
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaДмитрий Мухпропущено...

это не код, это кусок г.
Прошу показать верх программерской мысли по первичной загрузке данных с помощью хп.
Либо вы, как многие тут, способны только жалом поводить и не более.
Код: c#
1.
_context.Set<TEntity>().SqlQuery(sqltext, args).ToList<TEntity>();


Всё. Остальное к "загрузке данных с помощью хп" не относится.

Про принцип единственной ответственности (англ. The Single Responsibility Principle, SRP) что-нибудь слышали?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807531
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но, судя по тому, что класс BaseModelFactory отвечает за "загрузку данных с помощью хп", ответ очевиден.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807571
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Proga, сегодня, 10:52 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1311717&msg=21874019][21874019]
>Прошу показать верх программерской мысли по первичной загрузке данных с помощью хп.
<Если по делу, перестав ёрничать, то (пример альтернативного Вашему варианту работы с ХП в UserControl):
1. выборка из ХП в конкретном UserControl пользовательского приложения хранится в
List<row_Entity> lst_Entity; //-- Временное хранение выборки
или
ObservableCollection<row_Entity> oc_Entity=new ObservableCollection<row_Entity>(); //-- Показываем в DataGrid

2. сущность:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    //-- Сущность, что ассоциируется с записью таблицы базы данных
    public class row_Entity {
      public row_Entity(bool _chb_Entity, Guid _pk_Entity, string _str_Группа, byte[] _ts_Entity) {
        this.chb_Entity = _chb_Entity;
        this.pk_Entity  = _pk_Entity;
        this.str_Группа = _str_Группа;
        this.ts_Entity  = _ts_Entity;
      }
      public row_Entity() { }
      public bool chb_Entity { get; set; }
      public Guid pk_Entity { get; set; }
      public string str_Группа { get; set; }
      public byte[] ts_Entity { get; set; }
    }

3. вызов ХП
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
      . . .
      xrow = null; lst_Entity = null; lst_Entity = new List<row_Entity>();
      object[][] psp = new object[2][];
      psp[0] = new object[2] { "@pk_Entity", pk_Guid };
      psp[1] = new object[2] { "@str_Группа", xstr };
      при.tmrStart(); await Task.Run(() => wsp.Entity_SP("au_Группы_Sel", wsp.sp_Sel, psp, RowToEntity)); при.tmrStop();
      bl_Разрешение = true;     //-- Разрешение выполнения функционала компонент
      if (wsp.wspErr != null) { MessageBox.Show(wsp.wspErr, caption_Entity, MessageBoxButton.OK); }

      dgv_Entity.ItemsSource = null;
      if (lst_Entity != null) {
        oc_Entity = new ObservableCollection<row_Entity>(lst_Entity); lst_Entity = null;
        dgv_Entity.ItemsSource = oc_Entity;
        //-- Флаг размера выборки
        lbl_ФРВ.Visibility = wsp.bMax ? Visibility.Visible : Visibility.Hidden;
        if (oc_Entity.Count != 0) dgv_Entity.SelectedIndex = 0;
      }
      . . .



4.маппинг
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    //-- Строку выборки из базы данных отражаем на сущность 
    private void RowToEntity(IDataRecord record) {
      xrow = new row_Entity() {
        chb_Entity = false,
        pk_Entity = (record.IsDBNull(0)) ? гп.gd_0 : (Guid)record.GetGuid(0),
        str_Группа = (record.IsDBNull(1)) ? "???" : ((string)record.GetString(1)).Trim(),
        ts_Entity = (record.IsDBNull(2)) ? null : (byte[])record.GetValue(2)
      };  
      lst_Entity?.Add(xrow);
    }
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807573
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевмаппингммаппинг обычно деклоративный.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807588
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaГде вы обнаружили тысячи транзакций в первичной загрузке? о хоспади.....

я написал про другое совсем, перечитай. я не писал про первичную или какую либо загрузку да и причем она тут вообще
я не понимаю откуда ты вообще это взял. ты категорично сказал что транзакция на бд + сказал что на коде у тебя там чет не получилось и внезапно вывалил свой чудо код.
так в чем я не прав сказал что твой код говно?

ProgahandmadeFromRuАдо нет будет разбирать состояние контекста EF. Вот они какие новые архитекторы будущего.
и? я не помню когда я писал ну да ладно, фраза ведь верна. что не так в моей фразе? конкретный аргументы.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807612
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ВМоисеевмаппингммаппинг обычно деклоративный.
Маппинг там в член не уперся - выше уже два раза показали как вызвать ХП встроенным способом ЕФ-а.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807615
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
Согласен). Но у него код еще хуже)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807634
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fkthat, сегодня, 13:59 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1311717&msg=21874326][21874326]
>Маппинг там в член не уперся …
<EF там в член не уперся. Покажи как вызываешь такое .
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807672
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Petro123, сегодня, 14:03 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1311717&msg=21874335][21874335]
>Согласен). Но у него код еще хуже)
<любители желудей проснулись.
Если не дано вам понять вкус моих апельсинов, так хотя бы помолчали для приличия.
Извольте ваш код в студию, или хотя бы смотрите на это .
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807676
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>fkthat, сегодня, 13:59 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1311717&msg=21874326][21874326]
>Маппинг там в член не уперся …
<EF там в член не уперся. Покажи как вызываешь такое .
Если следовать DDD (Domain Driven Design), а не UserControl Driven Design, то появится сущность (Entity) типа UserProfile, или просто User, у которой будут перечислены и группы, и доступные ему приложения.

И тогда ровно так как "выше уже два раза показали как вызвать ХП встроенным способом ЕФ-а".
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39807681
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>Petro123, сегодня, 14:03 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1311717&msg=21874335][21874335]
>Согласен). Но у него код еще хуже)
<любители желудей проснулись.
Если не дано вам понять вкус моих апельсинов, так хотя бы помолчали для приличия.
Сколько человек пользуются твоими апельсинами (приложением) на данный момент?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39808597
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>skyANA, вчера, 15:33 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1311717&msg=21874499][21874499]
>Если следовать DDD...
<Не понимаю, о чём Вы говорите.
Мне нужны права юзера для конкретного приложения в этом конкретном приложении. Задаю так:
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39808658
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ProgaPetro123пропущено...

я не в курсе. Я недавно в шарпе. А в Java БЛ пишется в сервисном слое на АппСервере.
....
где у вас штатная работа с EF в виде:
Код: c#
1.
context.ИмяСущностиТаблица.Add(НоваяСущность)


не надо так писать - это моветон.
надо так
Код: c#
1.
BaseContext.Set<TEntity>().Local.Add(item);



Йетить-колотить! Это, что же за новый писк моды??
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39808659
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ProgaPetro123пропущено...
я смотрю у вас изврат на каждом шагу.
1. Версия у вас EF Core?
2. Ссылку на доку что надо так а не так.

1. Версия у вас EF Core?
пока им не пользуемся, надо решится. У нас пока EF 6
2. Ссылку на доку что надо так а не так
Не дам ссылки. Сами догадайтесь, почему так плохо.
Крутой подход, нет слов. Особенно улыбнуло "сами догадывайтесь". А какой смысл сюда ходить?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39808660
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Progaпока им не пользуемся, надо решится. У нас пока EF 6еканый бабай)).
1. Обновите EF. Его ПОЛНОСТЬЮ ПЕРЕПИСАЛИ в версии Core.
2. Начните разрабатывать трехзвенку чтобы логику писали на шарп без хранимок
3. У вас тормозило, так как изначально были хранимки))
Удачи!

+1
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39808661
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123В трехзвенке БЛ на аппСервере. А не в хранимке. Точка.
+1
...
Рейтинг: 0 / 0
23 сообщений из 123, страница 5 из 5
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / небольшая учетная система - Core?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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