powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# параллелизм в EntityFramework
25 сообщений из 103, страница 2 из 5
c# параллелизм в EntityFramework
    #39352323
Фотография Смузи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosНикто не будет переписывать свои зоопарк из какого-то сраного ОРМ
А ORM тут вообще не при делах, я говорю про единое API системы. Тогда любая сторонняя программа, использующая это API, будет играть по бизнес правилам, а не против них.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352329
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosСмузипропущено...

Так я ж не против. Вопрос в том, как это делать.
1. Пользователь начал редактировать конкретное поле записи, взвели таймстэмп в связке с identity.
2. Save => таймстэмп обнулили.
3. Пока таймстэмп не обнулен, другим пользователям не доступно поле для редактирования.
4. Плюс заложили дельту времени на простой с автообнулением таймстэмпа.
Вот тебе и вся архитектура :)
Надо рассчитывать на то что с БД работают и другие приложения и им пофиг твои соглашения.
и как ты это победил?
навесил триггер который пишет в стороннюю таблицу начальную версию строки таблицы, и если из доп табл копию строки не грохнули то тригер не позволяет изменить строку или что получше?
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352333
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СмузиViPRosНикто не будет переписывать свои зоопарк из какого-то сраного ОРМ
А ORM тут вообще не при делах, я говорю про единое API системы. Тогда любая сторонняя программа, использующая это API, будет играть по бизнес правилам, а не против них.

Ладно, я за дружбу и общий АПИ на все случаи жизни!
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352336
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СмузиViPRos1. Ну я ж сказал, что с БД могут работать разные приложения и они чихали на твои внутриприложенческие соглашения об этичности некоторых действий.
2. Защищает.
Я ж намекнул, что все приложения должны ходить в БД через единое API. Если это не так, то грошь цена твоей песочнице.
ты про то что API - означает реализация изменений таблиц в логике БД, то есть только в процедурах БД!?
А если одно приложение на PHP другое на Java то им в DAL дублировать логику? И как всегда тогда человеческий фактор.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352337
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

колись давай, Штирлиц, какое у тебя решение?
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352340
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Var79ViPRos,

колись давай, Штирлиц, какое у тебя решение?
Каждый кто допущен к БД делает все что ему положено.
Если ПХП захочет грохнуть БД, то он может это сделать, если только ВИПРОС позволит (это возможно, если структура БД не законтрактована кодом контролируемым ВИПРОС).
Просто ВИПРОС контролирует метаданные и не дает грохать структуру БД которую стережет.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352341
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Вопрос в том, как это делать.
Я предположу что можно обойтись триггером на таблице 1, который пишет запись о блокировке, в отдельную таблицу 2.
При изменении таблицы 1, триггер смотрит есть ли запись в таблице 2, если есть - не дает поменять.
Что бы поменять таблицу 1, ORM должна сначала удалять запись из таблицы 2, затем уже ORM может менять запись в таблице 1.
А у тебя какое решение, вдруг есть другое, возможно более удачное?
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352342
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

тем более что ты сам писал авторНадо рассчитывать на то что с БД работают и другие приложения и им пофиг твои соглашения.
так вот, мне и интересны возможные решения. А не то что ВИПРОС что то делает .
Мне интересно исключительно как кто то / что то делает .
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352343
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СмузиViPRos, а твоя защищает от админского DROP DATABASE? Не понимаю проблемы. Если ты в обход логики что-то на стороне апдейтишь, какой смысл уповать на ту самую логику.
да всем пофиг на DROP DATABASE. есть бекапы.
что бы не апдейтить в обход логики - нужно логику делать в БД?
на какую " ту самую ", на ту другую , которая на стороне web-сервера? Или ту первую которая в БД?
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352379
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

По-моему ты запутался в том, что обсуждается :) МСУ прав, ты пытаешься скрестить ужа с ежом, и самое ужасное, что тебе кажется, что это нормально.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352388
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХУ надо конкретные примеры обсуждать. Не так уж и часто требуется одновременная запись. А там где требуется - не часто создает проблемы.
Например в справочник забили клиента ООО "Рога и кАпыта", затем двое одновременно решили поправить, то какая разница кто первым сохранит ООО "Рога и копыта" ?

А там где критично, например остаток товара, когда при всем желании не продать два раза последнюю упаковку, надо просто предусматривать резервирование сразу после ввода количества, при неудачном резервировании оповещать.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352400
Фотография Смузи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Var79А если одно приложение на PHP другое на Java то им в DAL дублировать логику?
Единое HTTP REST API. С ним умеют работать даже комсомольцы. Никакого дублирования логики.

Var79да всем пофиг на DROP DATABASE. есть бекапы.
Стороннее приложение не должно быть допущено даже к схеме, не говоря уже о DROP.

Var79что бы не апдейтить в обход логики - нужно логику делать в БД?
Выше ответил.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352452
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНапример в справочник забили клиента ООО "Рога и кАпыта", затем двое одновременно решили поправить, то какая разница кто первым сохранит ООО "Рога и копыта" ?

Разницы нет. Но если ты открыл запись в одном состоянии, а в итоге сохраняешь на запись, находящуюся уже в другом состоянии, то это может быть проблемой.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352580
Фотография Смузи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНе так уж и часто требуется одновременная запись. А там где требуется - не часто создает проблемы.
Всё верно. Но только я бы заменил "Не так уж и часто требуется" на "Мы часто на это забиваем болт". Поэтому наши программы работают по принципу тапок - кто первый встал, того и они. Есть ряд промышленных систем, в которых это уже недопустимо. Приходится пилить.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352584
Фотография Смузи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смузикто первый последний встал, того и они.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352646
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRos,

По-моему ты запутался в том, что обсуждается :) МСУ прав, ты пытаешься скрестить ужа с ежом, и самое ужасное, что тебе кажется, что это нормально.
А по моему ты нифига не смыслишь в ужах и ежах (тут не зоопарк все же, а лоскутная автоматизация)
Муся и сам прекрасно знает, что он не прав, просто по инерции спорит, характер у него такой
Ничего я не пытаюсь, просто прога пашет в выбранном режиме - оптимизм ( с вариациями), пессимизм (с вариациями), смешанный режим
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352653
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Var79ViPRos,

тем более что ты сам писал авторНадо рассчитывать на то что с БД работают и другие приложения и им пофиг твои соглашения.
так вот, мне и интересны возможные решения. А не то что ВИПРОС что то делает .
Мне интересно исключительно как кто то / что то делает .
Пользуемся уровнями изоляции транзакций, декларацией намерений о будущих действиях, структурными и техническими приемами уменьшения эскалации блокировок, управлением жизненного цикла транзакций, техническими приемами для обмана "чужих", если они что то через задний ход пытаются сделать и т.д. - что позволяет провайдер источника.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352659
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosА по моему ты нифига не смыслишь в ужах и ежах (тут не зоопарк все же, а лоскутная автоматизация)

Просто странно это всё. Спихнём на то, что ты шаман, и разработка у тебя какая-то шаманская
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352661
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Var79,

вот некоторые конфигурируемые вещи

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
  <YSB.MES.Properties.Settings>
   <setting name="showRecordGraph" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="showSelectGraph" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="navigation" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="lazyloading" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="refreshDataOnLoad" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="filltype" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="fillrel" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="pagesize" serializeAs="String">
    <value>0</value>
   </setting>
   <setting name="treeRootLoadMode" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="loadLookUpForType" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="autoCreateDefaultMacroType" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="interfaceNamesFromMetaDataForControls" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="interfaceNamesFromMetaDataForEditForms" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="optimisticConcurrency" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="autoRejectChangesOnSaveError" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="autoRefreshMacroOnSaveError" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="autoRefreshMacroOnSaveSuccess" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="clearBeforeRefresh" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="postRestoreFormattingOfControls" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="restoreLayoutOnLayoutChanged" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="lockTimeOut" serializeAs="String">
    <value>5000</value>
   </setting>
   <setting name="optimisticLastWinConcurrency" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="commandTimeOutForSQL" serializeAs="String">
    <value>600</value>
   </setting>
   <setting name="commandTimeOutForSP" serializeAs="String">
    <value>3600</value>
   </setting>
   <setting name="allowSaveLayouts" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="allowRestoreLayouts" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="synchViewWithOwnerMacroType" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="cacheAllRowsInLookUpForm" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="padding" serializeAs="String">
    <value>0</value>
   </setting>
   <setting name="spacing" serializeAs="String">
    <value>0</value>
   </setting>
   <setting name="viewCaptionVisible" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="minPaddingSpacing" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="optimisticLastWinConcurrencyForObject" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="cacheEditorForm" serializeAs="String">
    <value>True</value>
   </setting>
   <setting name="cacheEditorFormsOnFistTimeVisibleChanged" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="smartLookUp" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="validityOnProgrammaticallyChanges" serializeAs="String">
    <value>False</value>
   </setting>
   <setting name="dashboardViewer" serializeAs="String">
    <value>True</value>
   </setting>
  </YSB.MES.Properties.Settings>
 </applicationSettings>
</configuration>
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352671
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

В дополнение
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352706
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Не пробовал посмотреть в сторону ABAC? Чтобы не было вот такого ужаса из галочек.
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352708
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

а что это такое? счеты?
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352713
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

в гугле АВАС - поршневые компрессоры
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352722
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
c# параллелизм в EntityFramework
    #39352812
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRos,

https://en.wikipedia.org/wiki/Attribute-Based_Access_Control
ах вот оно что :)
те галочки относятся к конкретным элементам (кнопкам и т.д.) - надо создавать данный функционал и кнопку или нет (например кнопку "групповое удаление записей")
или к режимам - вообще можно ли редактировать челу что нить
а вот все остальное в скрипте
...
Рейтинг: 0 / 0
25 сообщений из 103, страница 2 из 5
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / c# параллелизм в EntityFramework
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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