powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / небольшая учетная система - Core?
123 сообщений из 123, показаны все 5 страниц
небольшая учетная система - Core?
    #39804062
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выбираю стек для построения небольшой учетной системы. Хочется сэкономить на хостинге, поэтому смотрю в сторону Core 2.2+PostgreSql. Есть у кого опыт? насколько это вообще надежно?

Может кто видел готовый рабочий шаблон Core+Postgre(MySql)+EF_CodeFirst+Identity?
Или все же не связываться пока с таким стеком?

ПС: в базе будет около 20 табличек, планируется хранение фотографий в БД, не более 10 одновременных пользовательских сессий.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804071
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oaken,
.. вот первым гуглением нашлась ссылка на пример простого ТуДу под NetCore WebAPI (правда 2.1) + PostGRE под Mac-осью ... вроде все стандартно, только options.UseNpgSql .. должно работать ..
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804127
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik.. вот первым гуглением нашласьспасибо
Я уже потратил какое-то время на подобные туториалы, то что в них описано, конечно же работает отлично. Но вот сходу сделать как в классическом Asp .net приложении code first на MSSQL со всеми Identity и иже сними не получилось. Поэтому и возник вопрос, "а стоит ли? этим вообще кто-то пользуется?" ну и тп.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804130
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oakenэтим вообще кто-то пользуется?Вообще, мне вопрос в целом не очень ясен. Если систему знаешь, то тогда и вопросов вроде нет, как ее использовать. А если не знаешь, то все равно нужен учебник - берется Фримен и читается от корки до корки, у него в качестве примера приводится простенькое приложение.

Только надо определиться, что подразумевается под "классическим ASP.NET приложением", так как WebForms в Core уже нет, так что либо MVC либо толстый клиент + WebAPI.

А так - выбор инструментов вполне себе подходящий.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804173
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я как-то занялся этим вопросом и получилось сделать всё, что ты перечислил даже немного больше. В итоге у меня получился шаблон, который лекго может создавать микросерсы на базе описанных технологий. Ты можешь взять исходники, или сразу шаблон, ссылки ниже. А можешь даже видео посмотреть, которое я нафигачил для своих коллег, чтобы было понятнее, что к чему и как должно быть. Видео ряд на эту тему будет продолжен, так что если будут вопросы - пиши комменты к видие или в блоге, я всё покажу и расскажу.

Решение содержит четыре проекта с разбиением на логические уровни:

[your_namespace].Core - контракты для использования во всех проектах (и кросс-решениях тоже)

[your_namespace].Models - модели, которые относятся к бизнес-логике (пока пустой, только для демонстрации кое-что)

[your_namespace].Data - база данных и всё что нужно для управления ею: миграции, конфигурации и прочее (в общем, тут DbContext)

[your_namespace].Web - основной проект на ASP.NET Core 2.2

В главное проекте Web в свою очередь содержит следующие технологии, паттерны, подходы, принципы и т.д.:


Microsoft AspNetCore Identity

Authorization Server на базе IdentityServer4

Реализация паттерна UnitOfWork (Repositories + Transactions + UserManager + RoleManager)

Swagger integratoin

Automapper

Pagination

Response wrapper на примере OperationResult

Единственное, что я делал всё на Microsoft SQL Express. Но подменить провайдера для EntityFramework на PostgreSQL - проще простого, и ты можешь с легкостью это сделать.

Ссылки:

Статья Микросервисы: шаблон на базе платформы ASP.NET Core

Исходники лежат в GitHub

Видео с описание процесса и модулей на канале youtube

YouTube Video
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804174
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не знаю как спрятать видео ссылку, она сама развернулась, простите
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804175
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oakenтак как WebForms в Core уже нет
Только не "уже", а "еще"... потому что в версии Core 3.0 всё снова появится! и даже WPF и Blazor
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804190
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabongaoakenтак как WebForms в Core уже нет
Только не "уже", а "еще"... потому что в версии Core 3.0 всё снова появится! и даже WPF и Blazor
в статье нет ни слова о WebForms. А остальное и так есть.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804472
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,


Сорян, видимо с WinForms перепутал
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804474
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,


Зато есть очень похожая на WebForms штука DotVVM
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39804559
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabonga,
Веб это большая мусорная свалка. Там чего только нет.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805180
oaken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо, все получилось.
За исключением некоторых моментов с Identity.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805563
__Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oaken,

Лови, этот блог спас меня в том же вопросе, теперь я меня полностью управляемая мною авторизация и т.п.
https://metanit.com/sharp/aspnet5/16.1.php
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805761
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalabongaЯ как-то занялся этим вопросом и получилось сделать всё, что ты перечислил даже немного больше. В итоге у меня получился шаблон, который лекго может создавать микросерсы на базе описанных технологий. Ты можешь взять исходники, или сразу шаблон, ссылки ниже. А можешь даже видео посмотреть, которое я нафигачил для своих коллег, чтобы было понятнее, что к чему и как должно быть. Видео ряд на эту тему будет продолжен, так что если будут вопросы - пиши комменты к видие или в блоге, я всё покажу и расскажу.

Решение содержит четыре проекта с разбиением на логические уровни:

[your_namespace].Core - контракты для использования во всех проектах (и кросс-решениях тоже)

[your_namespace].Models - модели, которые относятся к бизнес-логике (пока пустой, только для демонстрации кое-что)

[your_namespace].Data - база данных и всё что нужно для управления ею: миграции, конфигурации и прочее (в общем, тут DbContext)

[your_namespace].Web - основной проект на ASP.NET Core 2.2

В главное проекте Web в свою очередь содержит следующие технологии, паттерны, подходы, принципы и т.д.:


Microsoft AspNetCore Identity

Authorization Server на базе IdentityServer4

Реализация паттерна UnitOfWork (Repositories + Transactions + UserManager + RoleManager)

Swagger integratoin

Automapper

Pagination

Response wrapper на примере OperationResult

Единственное, что я делал всё на Microsoft SQL Express. Но подменить провайдера для EntityFramework на PostgreSQL - проще простого, и ты можешь с легкостью это сделать.

Ссылки:

Статья Микросервисы: шаблон на базе платформы ASP.NET Core

Исходники лежат в GitHub

Видео с описание процесса и модулей на канале youtube

YouTube Video
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805782
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaНа каждую сущность рожать свой ViewModel
можно на бизнес сущность (она побольше) и можно целиком на окно АРМ (автоматизированное рабочее место)
ProgaЯ ещё управление транзакциями не на сервере БД - это зло. Вас базовики повесят.
в веб проектах управляется на аппСервере, а не в базе.
ProgaЕщё рекомендую авторизацию посмотреть не только стандартную, но и реализовать что-то своё.
нет. Нельзя в Hello world пихать все решения.
Выпячивается только то что хотели показать своим примером.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805817
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ProgaЯ ещё управление транзакциями не на сервере БД - это зло. Вас базовики повесят.
в веб проектах управляется на аппСервере, а не в базе.

взаимоблокировки разруливать будете тоже на апсервере?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805836
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,

там блокировки на таймауте :)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805840
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosProga,

там блокировки на таймауте :)
ещё лучше.
500 пользаков ввели данные, жмут сохранить, а у них не сохранилось с просьбой ещё раз нажать сохранить, или ещё хуже заново набить.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805852
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaвзаимоблокировки
какие?
Proga500 пользаков ввели данные, жмут сохранить, а у них не сохранилось с просьбой ещё раз нажать сохранить, или ещё хуже заново набить.
это как к взаимоблокировкам?
Вы расскажите, чем нас пугаете.
Так как транзакции на сервере в БД даже в дельфи не делают.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805877
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaвзаимоблокировки
какие?
Proga500 пользаков ввели данные, жмут сохранить, а у них не сохранилось с просьбой ещё раз нажать сохранить, или ещё хуже заново набить.
это как к взаимоблокировкам?
Вы расскажите, чем нас пугаете.
Так как транзакции на сервере в БД даже в дельфи не делают.
Сахават написал, что у него при взаимоблокировках отвал по таймауту.
Отсюда вывод откат сохранения данных. Разбирать, что с этим делать на сервере приложений не самый лучший способ.
Транзакции надо делать в процедурах и разбор с взаимоблокировками там же.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805879
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaСахават написал
ты обосновывать его примером будешь или свой есть?
ProgaТранзакции надо делать в процедурах
В трехзвенке нет хранимок. Не знал?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805885
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ProgaСахават написал
ты обосновывать его примером будешь или свой есть?
ProgaТранзакции надо делать в процедурах
В трехзвенке нет хранимок. Не знал?
Вы можете строить свои приложения как хотите.
У меня другое мнение.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805892
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
ОК. Разошлись.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39805902
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaСахават написал, что у него при взаимоблокировках отвал по таймауту.
Отсюда вывод откат сохранения данных. Разбирать, что с этим делать на сервере приложений не самый лучший способ.
Транзакции надо делать в процедурах и разбор с взаимоблокировками там же.
блииин, я написал "ТАМ", т.е. У НИХ :)
я (если включен режим - пессимизм) сначала честно ( в БД) блокирую, а потом уж редактирую
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806016
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,

я видео не смотрел и, соответсвенно, не в курсе как там конкретно выстроено управление транзакциями не на сервере БД

но лично для меня формулировка "это зло", потому что "базовики повесят", "взаимоблокировки разруливать будете", "500 пользаков ввели данные, жмут сохранить, а у них не сохранилось", выглядит, мягко говоря, не убедительно

последний раз сталкивался с блокировками из-за зависшей клиентской транзакции в 2004-м году, в большой монолитной ERP
если архитектура вашей системы застряла в том же времени, то проблемы скорее всго из-за неё, а не из-за транзакций не на сервере БД
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806075
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухProga,

я видео не смотрел и, соответсвенно, не в курсе как там конкретно выстроено управление транзакциями не на сервере БД

но лично для меня формулировка "это зло", потому что "базовики повесят", "взаимоблокировки разруливать будете", "500 пользаков ввели данные, жмут сохранить, а у них не сохранилось", выглядит, мягко говоря, не убедительно

последний раз сталкивался с блокировками из-за зависшей клиентской транзакции в 2004-м году, в большой монолитной ERP
если архитектура вашей системы застряла в том же времени, то проблемы скорее всго из-за неё, а не из-за транзакций не на сервере БД
У тебя просто нет общих данных
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806084
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosДмитрий МухProga,

я видео не смотрел и, соответсвенно, не в курсе как там конкретно выстроено управление транзакциями не на сервере БД

но лично для меня формулировка "это зло", потому что "базовики повесят", "взаимоблокировки разруливать будете", "500 пользаков ввели данные, жмут сохранить, а у них не сохранилось", выглядит, мягко говоря, не убедительно

последний раз сталкивался с блокировками из-за зависшей клиентской транзакции в 2004-м году, в большой монолитной ERP
если архитектура вашей системы застряла в том же времени, то проблемы скорее всго из-за неё, а не из-за транзакций не на сервере БД
У тебя просто нет общих данныхЧто ты подразумеваешь под общими данными?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806094
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosДмитрий МухProga,

я видео не смотрел и, соответсвенно, не в курсе как там конкретно выстроено управление транзакциями не на сервере БД

но лично для меня формулировка "это зло", потому что "базовики повесят", "взаимоблокировки разруливать будете", "500 пользаков ввели данные, жмут сохранить, а у них не сохранилось", выглядит, мягко говоря, не убедительно

последний раз сталкивался с блокировками из-за зависшей клиентской транзакции в 2004-м году, в большой монолитной ERP
если архитектура вашей системы застряла в том же времени, то проблемы скорее всго из-за неё, а не из-за транзакций не на сервере БД
У тебя просто нет общих данных
Сахават, ты как обычно зришь в корень.
У меня 40тыс. пользаков в корпоративной веб-системе, + 1200 бекэнд, в реал тайме порядка 15тыс. транзакций в секунду.
Ребята просто не сталкивались с оверхедами.

Всем добра.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806098
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRosпропущено...

У тебя просто нет общих данныхЧто ты подразумеваешь под общими данными?
можно я отвечу.
Работники работают на сменах.
Им проставляют всякие разные атрибуты к сменам, проставлятелей 100-120 человек + роботы.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806128
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaУ меня 40тыс. пользаков в корпоративной веб-системе, + 1200 бекэнд, в реал тайме порядка 15тыс. транзакций в секунду.
можно иметь миллион транзакций, но они все не имеют отношения к взаимоблокировкам.
ProgaРебята просто не сталкивались с оверхедами.
Слово "оверхед" обозначает НЕНУЖНОЕ усложнение, решение или технология.
То есть у тебя оверхед?

ProgaРаботники работают на сменах.
Им проставляют всякие разные атрибуты к сменам, проставлятелей 100-120 человек + роботы.
Есть общие решения к вопросу параллельного доступа к общим ресурсам.
- короткие транзакции
- тип блокировки
- бд неблокировочник
и т.д.
Причём тут в теме про Core хранимки и транзакции в БД?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806130
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
жду от вас Hello World ASP Core ссылку с транзакциями в базе данных.
То есть учебник или статью от MS или статью с лайками наконец)))
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806179
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaViPRosпропущено...

У тебя просто нет общих данных
Сахават, ты как обычно зришь в корень.
У меня 40тыс. пользаков в корпоративной веб-системе
А у меня более 8 267 148 зарегистрированных пользователей на данный момент.

Что ты подразумевается под общими данными? Что за СУБД? Какой уровень изоляции транзакций?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806183
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaskyANAпропущено...
Что ты подразумеваешь под общими данными?
можно я отвечу.
Работники работают на сменах.
Им проставляют всякие разные атрибуты к сменам, проставлятелей 100-120 человек + роботы.
Ну и?

Блокировки в базе возникают на объектах этой самой базы.
В этом контексте, что подразумевается под общими данными? Что за СУБД? Какой уровень изоляции транзакций?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806191
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА у меня более 8 267 148 зарегистрированных пользователей на данный момент.
Поправил, хотя уже 8 267 162, так что не ошибся
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806202
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAskyANAА у меня более 8 267 148 зарегистрированных пользователей на данный момент.
Поправил, хотя уже 8 267 162, так что не ошибся

одно это число говорить о том что нечего там блокировать и не нужны никакие уровни транзакции
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806209
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ProgaУ меня 40тыс. пользаков в корпоративной веб-системе, + 1200 бекэнд, в реал тайме порядка 15тыс. транзакций в секунду.
можно иметь миллион транзакций, но они все не имеют отношения к взаимоблокировкам.
ProgaРебята просто не сталкивались с оверхедами.
Слово "оверхед" обозначает НЕНУЖНОЕ усложнение, решение или технология.
То есть у тебя оверхед?

ProgaРаботники работают на сменах.
Им проставляют всякие разные атрибуты к сменам, проставлятелей 100-120 человек + роботы.
Есть общие решения к вопросу параллельного доступа к общим ресурсам.
- короткие транзакции
- тип блокировки
- бд неблокировочник
и т.д.
Причём тут в теме про Core хранимки и транзакции в БД?
я прокомментировал видео с ютуба. И указал, что не очень согласен с подходами разработчика, который говорит о своём решении, как о готовой шаблонной конструкции при построении коммерческих приложений. Это моя личная точка зрения.
Оверхед для меня в данном случае, это не спланированая или неожидаемая нагрузка на систему, т.е. планировали при запуске количество транзакций в сек например 7-8 тыс, а заказчик решил подругому использовать - 12-15 тыс. Система в целом перестала справляться с такими нагрузками. Пришлось изменять архитектуру решения. Разруливать пришлось на уровне сервера БД.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806223
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAProgaпропущено...

можно я отвечу.
Работники работают на сменах.
Им проставляют всякие разные атрибуты к сменам, проставлятелей 100-120 человек + роботы.
Ну и?

Блокировки в базе возникают на объектах этой самой базы.
В этом контексте, что подразумевается под общими данными? Что за СУБД? Какой уровень изоляции транзакций?
Про общие данные написал пример, не буду повторяться
СУБД -MS SQL Server 2016.
Блокировки изначально приняли те, что строит автоматический оптимизатор запросов. Однако после пришлось самим разруливать внутри хп.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806229
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAпропущено...

Поправил, хотя уже 8 267 162, так что не ошибся

одно это число говорить о том что нечего там блокировать и не нужны никакие уровни транзакции
серьёзно?

и при каком же числе зарегистрированных пользователей по твоему мнению надо начинать, или переставать блокировать?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806231
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaЭто моя личная точка зрения.
да. Но проблема в том, что ты продолжаешь говорить сомнительные вещи _с потолка_.
ProgaОверхед для меня в данном случае, это не спланированая или неожидаемая нагрузка на систему, т.е. планировали при запуске количество транзакций в сек например 7-8 тыс, а заказчик решил подругому использовать - 12-15 тыс. Система в целом перестала справляться с такими нагрузками. Пришлось изменять архитектуру решения. Разруливать пришлось на уровне сервера БД.
вы же не рассматривали решение1, решение2 и решение3?
Кто решал по архитектуре?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806234
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaskyANAпропущено...

Ну и?

Блокировки в базе возникают на объектах этой самой базы.
В этом контексте, что подразумевается под общими данными? Что за СУБД? Какой уровень изоляции транзакций?
Про общие данные написал пример, не буду повторяться
СУБД -MS SQL Server 2016.
Блокировки изначально приняли те, что строит автоматический оптимизатор запросов. Однако после пришлось самим разруливать внутри хп.
А чего же "базовики" изначально не построили базу так, чтобы было меньше блокировок?
Не ожидали, что количество транзакций может вырасти?
Не знали как, когда и на какие объекты SQL Server накладывает блокировки?
Им не сообщили каким образом эти объекты БД будут использоваться?

Удивительно.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806236
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaБлокировки изначально приняли те, что строит автоматический оптимизатор запросов.
это я не понял.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806238
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
оказывается тема ушла в объяснения азов блокировок.
И, можешь обижаться, но ты сам эту тему не проработал.
Удачи!
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806240
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ProgaБлокировки изначально приняли те, что строит автоматический оптимизатор запросов.
это я не понял.
Хинтами внутри хранимок видать стали разруливать.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806248
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaСистема в целом перестала справляться с такими нагрузками. Пришлось изменять архитектуру решения. Разруливать пришлось на уровне сервера БД.
А управление транзакциями не на сервере БД вообще было?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806258
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Proga,
оказывается тема ушла в объяснения азов блокировок.
И, можешь обижаться, но ты сам эту тему не проработал.
Удачи!
не надо переходить на личности. компетентность мою и моих коллег не вам определять, вы не мой заказчик.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806259
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAPetro123пропущено...

это я не понял.
Хинтами внутри хранимок видать стали разруливать.
да
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806260
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaкомпетентность мою и моих коллег не вам определять, вы не мой заказчик.
Добро пожаловать в форум!
Тут судят исключительно по вашим текстам.
И то, только в профессиональном плане).
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806262
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAProgaСистема в целом перестала справляться с такими нагрузками. Пришлось изменять архитектуру решения. Разруливать пришлось на уровне сервера БД.
А управление транзакциями не на сервере БД вообще было?
да, в первой версии так и сделали.
но получили фейл. может изначально с архитектурной точки зрения плохая проработка была с нашей стороны и понадеялись, что сможем разрулить на стороне сервера приложений, не смогли. Ушли в хранимки и финты ушами (хинты, optimistic lock и немного версионник)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806263
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaкомпетентность мою и моих коллег не вам определять, вы не мой заказчик.
Добро пожаловать в форум!
Тут судят исключительно по вашим текстам.
И то, только в профессиональном плане).
ок, без обид.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806310
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaskyANAпропущено...

А управление транзакциями не на сервере БД вообще было?
да, в первой версии так и сделали.
но получили фейл. может изначально с архитектурной точки зрения плохая проработка была с нашей стороны и понадеялись, что сможем разрулить на стороне сервера приложений, не смогли. Ушли в хранимки и финты ушами (хинты, optimistic lock и немного версионник)
Выходит сейчас нет управления транзакциями не на сервере БД.
И если убрать хинты, optimistic locking и версионник, то получите деградацию производительности.

Спрашивается: при чём тут клиентские транзакции? В архитектуре проблемы.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806355
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обычно мне про транзакции на бд втирают дба на оракле, но эт отдельная каста людей. имхо
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806366
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuно эт отдельная каста людей. имхо))да.
Но тут и среди мемберов есть). Те кто горой за двухзвенки стоит.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806381
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAProgaпропущено...

да, в первой версии так и сделали.
но получили фейл. может изначально с архитектурной точки зрения плохая проработка была с нашей стороны и понадеялись, что сможем разрулить на стороне сервера приложений, не смогли. Ушли в хранимки и финты ушами (хинты, optimistic lock и немного версионник)
Выходит сейчас нет управления транзакциями не на сервере БД.
И если убрать хинты, optimistic locking и версионник, то получите деградацию производительности.

Спрашивается: при чём тут клиентские транзакции? В архитектуре проблемы.
В итоге получили, что-то среднее, аппсервер с вызовами хп и ad-hoc и решением узких мест на стороне сервера БД
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806402
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaВ итоге получили, что-то среднее
угу. Среднее по больнице.
Получили вдухзвенку-вебпроект
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806404
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuобычно мне про транзакции на бд втирают дба на оракле, но эт отдельная каста людей. имхо
Они защищают свою работу :-) У нас когда-то был один ДБА, который вообще с пеной у рта всегда доказывал, что вообще ВСЮ бизнес-логику следует писать осключительно на ХП оракла :-)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806407
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaаппсервер с вызовами хп
ну расскажите про этого динозавра.
Там у вас так?:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
using (sqlConnection connection = new sqlConnection(Con.ConnectionString))
{
		connection.Open();
		sql.sqlCommand command = connection.CreateCommand();
		command.CommandText = SQL;
		using (sqlDataReader res = command.ExecuteReader())
		{
				while (res.Read())
                                ....
						
		}
}
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806409
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
поэтому ДБА не допускают до архитектуры
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806415
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaаппсервер с вызовами хп
ну расскажите про этого динозавра.
Там у вас так?:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
using (sqlConnection connection = new sqlConnection(Con.ConnectionString))
{
		connection.Open();
		sql.sqlCommand command = connection.CreateCommand();
		command.CommandText = SQL;
		using (sqlDataReader res = command.ExecuteReader())
		{
				while (res.Read())
                                ....
						
		}
}


нет.
Вот так
Код: 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;
            }
        }
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806417
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трололо началось.

ТС написал: "Всем спасибо, все получилось". Видосик обсудили. Тему можно закрывать :)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806429
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
правильно я понял что веб проект без ОРМ?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806431
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Proga,
правильно я понял что веб проект без ОРМ?
неправильно. EF есть.
вот ещё кусок этого класс
Код: 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;
            }
        }
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806451
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaнеправильно. EF есть.
как он пишет в хранимки?
Пример покажите.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806463
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaнеправильно. EF есть.
как он пишет в хранимки?
Пример покажите.
Код: 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.
public bool SaveData()
        {
            List<TEntity> updateditems = new List<TEntity>();
            if (_callback != null)
            {
                BaseContext.Configuration.AutoDetectChangesEnabled = false;
            
                foreach (TEntity item in BaseContext.Set<TEntity>().Local.ToBindingList())
                {
                    if (BaseContext.Entry(item).State == EntityState.Modified || BaseContext.Entry(item).State == EntityState.Added)
                    {
                        updateditems.Add(item);
                    }
                }
                BaseContext.Configuration.AutoDetectChangesEnabled = true;
           }
            try
            {
                BaseContext.Database.Connection.ConnectionString = _connectionstring;
                bool haschanges = BaseContext.ChangeTracker.HasChanges();
                int baseContextSaveChanges = BaseContext.SaveChanges();
                foreach (TEntity item in updateditems)
                {
                    IAsyncResult callbackitem = item as IAsyncResult;
                    if (_callback != null && callbackitem != null)
                    {
                        _callback(callbackitem);
                    }
                }
                return (baseContextSaveChanges > 0 && haschanges) || !haschanges;
            }
            catch (DbUpdateConcurrencyException ex)
            {
                foreach (var item in ex.Entries)
                { CancelItem(item.Entity as TEntity); }
                UserMessanger.WarningUser(Resource.UpdateConcurrencyExceptionMessage);
                return true;
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null)
                    UserMessanger.WarningUser(ex.ToString());
                return false;
            }
            finally
            {
            }
        }
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806465
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
много вы понаписали))
Дайте вот это:
Proga
Код: c#
1.
BaseContext.SaveChanges();
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806468
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
и при каком же числе зарегистрированных пользователей по твоему мнению надо начинать, или переставать блокировать?
большой секрет :)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806469
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123много вы понаписали))
Дайте вот это:
Proga
Код: c#
1.
[SRC C#]BaseContext.SaveChanges();



[/src]
BaseContext это DbContext.

Код: c#
1.
BaseContext.SaveChanges();


это встроенная функциональность EF.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806470
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAи при каком же числе зарегистрированных пользователей по твоему мнению надо начинать, или переставать блокировать?
большой секрет :)
ага. стотысяч миллионов
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806474
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaага. стотысяч миллионов
никогда не поверю, что задачка это была рассчитана на миллионы пользователей изначальна
но она есть (я ему верю) и как то корректно работает, а это означает очень простую вещь - нет там никакой конкуренции и никакие уровни изоляции не нужны - каждый козел пасется в своем огороде
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806476
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaэто встроенная функциональность EF.
я в курсе. Как вы маппинг делаете на хранимки? Разве EF поддерживает хранимки?
2.
Где у вас штатная работа с EF в виде:
Код: c#
1.
context.ИмяСущностиТаблица.Add(НоваяСущность)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806487
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaэто встроенная функциональность EF.
я в курсе. Как вы маппинг делаете на хранимки? Разве EF поддерживает хранимки?
2.
Где у вас штатная работа с EF в виде:
Код: c#
1.
context.ИмяСущностиТаблица.Add(НоваяСущность)


Вы меня извините, кхмм.. как бы вам так сказать, это поддерживается EF ещё со времен ObjectContext.
Я когда переводил свои проекты, был сильно доволен, какие они функции в EF добавили в новой версии, та, что DbContext.
Ссылка для погружения в материал.
вот
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806490
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaВы меня извините, кхмм.. как бы вам так сказать, это поддерживается EF ещё со времен ObjectContext.
я не в курсе. Я недавно в шарпе. А в Java БЛ пишется в сервисном слое на АппСервере.
....
где у вас штатная работа с EF в виде:
context.ИмяСущностиТаблица.Add(НоваяСущность)
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806493
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ProgaВы меня извините, кхмм.. как бы вам так сказать, это поддерживается EF ещё со времен ObjectContext.
я не в курсе. Я недавно в шарпе. А в Java БЛ пишется в сервисном слое на АппСервере.
....
где у вас штатная работа с EF в виде:
Код: c#
1.
context.ИмяСущностиТаблица.Add(НоваяСущность)


не надо так писать - это моветон.
надо так
Код: c#
1.
BaseContext.Set<TEntity>().Local.Add(item);
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806494
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progaне надо так писать - это моветон.я смотрю у вас изврат на каждом шагу.
1. Версия у вас EF Core?
2. Ссылку на доку что надо так а не так.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806495
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
3. Бизнес логика в виде
Код: c#
1.
ВыдатьКредит(Юзверь, Сумма)

у вас хранимка?
На каком ЯП?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806496
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaне надо так писать - это моветон.я смотрю у вас изврат на каждом шагу.
1. Версия у вас EF Core?
2. Ссылку на доку что надо так а не так.

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

у вас хранимка?
На каком ЯП?

Чую мне надо немного рассказать вам про абстракции, которыми я пользуюсь.
Я везде, где только можно применяю принцип описания поведения, точнее шаблон поведения с возможностью переопределения в наследнике. Отсюда следует, что используется только параметризация без указания конкретики.
вот здесь я вам показывал.
Код: c#
1.
2.
3.
4.
public class BaseModelFactory<TEntity, TContext>
        where TEntity : class,IEntry, new()
        where TContext : DbContext, new()
    {



Это позволяет минимизировать код, при этом скорость его выполнения в диагностики вполне достойная + за счёт параметризации мы уходим от явного приведения типов, что тоже крайне положительно влияет на производительность.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806503
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaпока им не пользуемся, надо решится. У нас пока EF 6еканый бабай)).
1. Обновите EF. Его ПОЛНОСТЬЮ ПЕРЕПИСАЛИ в версии Core.
2. Начните разрабатывать трехзвенку чтобы логику писали на шарп без хранимок
3. У вас тормозило, так как изначально были хранимки))
Удачи!
Не верьте лозунгам от MS.
Вы проверили его скорострельность? Не верю.
А переход на новый Ef это крайне болезненная история.
В больших проектах так не делают, как минимум без вразумительного ТЭО.

Ладно. Не используйте хп, не буду вас переубеждать.
Только не пишите вот этой глупости.
Petro1233. У вас тормозило, так как изначально были хранимки))
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806505
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaНе верьте лозунгам от MS.
Вы проверили его скорострельность? Не верю.
а кому верить? Вам?
За это уволить могут.
Ведь не я ушёл от маппинга классов, кэширования, автоРазруливанияИзменений, автоРазруливанияСвязей в сторону вывода коллекции из хранимки.
Т.е. все возможности ОРМ мы похерили.
ProgaА переход на новый Ef это крайне болезненная история.
а если бы не было хранимок? ))) Вы не знали что такое ОРМ?
У меня сейчас один старый проект 15 летней давности. И решили его переводить на "сегодня".
Дык компилятор даёт при компиляции 450 ошибок. Причём только в первом проходе.
Кому счас легко?
Можно наверно было сделать несколько проектов у вас, а не один большой большой Core процесс.
ProgaВы проверили его скорострельность? Не верю.
мне вообще лень проверять ШТАТНЫЙ БАЗОВЫЙ способ маппинга на таблицы по сравнению с какими то хранимками.
Надо уметь писать так и так.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806507
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Progaпока им не пользуемся, надо решится. У нас пока EF 6еканый бабай)).
1. Обновите EF. Его ПОЛНОСТЬЮ ПЕРЕПИСАЛИ в версии Core.
2. Начните разрабатывать трехзвенку чтобы логику писали на шарп без хранимок
3. У вас тормозило, так как изначально были хранимки))
Удачи!

И вот вам ссылка .

С выдержкой
Код: sql
1.
2.
Рекомендации для существующих приложений EF6
Из-за фундаментальных отличий от EF Core мы не рекомендуем переносить приложения EF6 на EF Core, если для этого нет веской причины. Если вы хотите перенести приложение на EF Core, чтобы использовать новые возможности, заранее ознакомьтесь со всеми существующими ограничениями. Дополнительные сведения см. в разделе Перенос приложений из EF6 в EF. Переход с EF6 на EF Core — это скорее перенос, чем обновление.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806509
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ведь не я ушёл от маппинга классов, кэширования, автоРазруливанияИзменений, автоРазруливанияСвязей в сторону вывода коллекции из хранимки.
Опять это ваши домыслы.
Всё есть. ХП не ограничивают ничего из того, что вы перечислили, добавляя при этом скорострельность.

Ещё раз повторю, пишите свой код без хп. Это ваше право.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806516
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga,
Угу.
MS не слушай. У меня не Core в теме про Core и у меня тормозит что пришлось хинтовать.
Вот такие ваши аргументы.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806556
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaВот так
Код: 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 в еф были хранимки не парься
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806595
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuPetro123 в еф были хранимки не парьсяа в NHibernate? А в java?
Архитектура, она общая среди всех ЯП.
Нужно учитывать, что у MS любил всегда сращивать бд и аппСервер.
Поэтому у него он всего один, а в java 5-10 и бесплатные.
В трехзвенке БЛ на аппСервере. А не в хранимке. Точка.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806599
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuef плохо относиться если у тебя там в транзакции+1 ОРМ для CRUD приложений
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806603
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuвнезапно высвобождаетевы правы.
в Core по простому можно инжекцией прокинуть контекст прямо в контроллеры.
Это как бы из учебников и хелпов.
Впрочем, получается что тут только слой контроллеров и слоя сервисного нету. Логика то в хранимках.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806637
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123В трехзвенке БЛ на аппСервере. А не в хранимке. Точка.
ты видимо не понял мою мысль. я за транзакции на коде.
слова про хранимки относятся что ты писал что в еф вроде как нет хранимок, если в правильно понял тебя.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806659
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,
Да. Сначала не понял, теперь понял).
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806723
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123handmadeFromRuвнезапно высвобождаетевы правы.
в Core по простому можно инжекцией прокинуть контекст прямо в контроллеры.
Это как бы из учебников и хелпов.
Впрочем, получается что тут только слой контроллеров и слоя сервисного нету. Логика то в хранимках.
Так-то инжекция и до коре сто лет как была.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806733
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
написано что в Core она из коробки.
За что купил...
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806751
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosskyANAи при каком же числе зарегистрированных пользователей по твоему мнению надо начинать, или переставать блокировать?
большой секрет :)
Слив засчитан
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806752
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosProgaага. стотысяч миллионов

никогда не поверю
Слив засчитан два раза
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806760
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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;
            }
        }



я как бы не хейтер на форуме и это могут подтвердить другие но видя этот код я могу сказать одно у вас проблемы с архитектурой
это не код, это кусок г.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806772
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухViPRosпропущено...

большой секрет :)
Слив засчитан
Дмитрий! Какие могут быть блокировки при миллионе конкурентов?
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806778
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухСлив засчитан два раза
Покажи один Update
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806782
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosДмитрий! Какие могут быть блокировки при миллионе конкурентов?у блокировочника сиквела все может быть.
У бд оракле не блокировочника не могут быть.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806785
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

отдыхай
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806792
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123fkthat,
написано что в Core она из коробки.
За что купил...
Та что в коре из коробки она все равно очень примитивная и к ней что-либо типа Autofac прикручивают.
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806793
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
ты ещё про бота напиши ))) LOL
...
Рейтинг: 0 / 0
небольшая учетная система - Core?
    #39806794
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
возможно. Я всегда с простого начинаю. Так интереснее).
______________________________________________
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
...
Рейтинг: 0 / 0
небольшая учетная система - 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
123 сообщений из 123, показаны все 5 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / небольшая учетная система - Core?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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