Дмитрий Ковальский: Поясню. Используется один из продуктов который основан на NHibernate. Я работаю с какими либо объектами, а при этом под капотом выполняются более 50 INSERT/UPDATE запросов в базу. Код огромен и все выполняется без проблем. Машина и сервер БД достаточно мощные. Применение Entity Framwork невозможно, а хранимая процедура все усложнит.
Коллекции кастомнные. Наследуют AbstractNHEntityManager от NHibernate.
Из интерфейсов реализуют только IEntityManager который тоже входит в NHibernate.
Find() и Where() возвращают ICollection и реализуют:
IList`1
ICollection`1
IEnumerable`1
IEnumerable
IList
ICollection
IReadOnlyList`1
IReadOnlyCollection`1
А подскажите как в newtonsoft.json формировать json строку по мои определенным правилам? К примеру в объекте у меня есть List. Сейчас преобразование возвращает мне строку
"Executors":[{"Id":1},{"Id":3},{"Id":8},{"Id":4},{"Id":9},{"Id":5},{"Id":6},{"Id":7},{"Id":10},{"Id":11},{"Id":12},{"Id":13},{"Id":14},{"Id":15},{"Id":16}], а нужно чтобы возвращал "Executors":[1,2,3,4,5,6,7,8,9]
Илья: в backend изменять нельзя. Если смотреть на ваше предложение со стороны front то поймите, что событие является ключевым объектом в данный ситуации. Пользователи это всего лишь перебор ID`шников. Но разделять эти ID нельзя. Почему? Потому что при переносе событий в календаре, на сервер отправляется AJAX запрос, в котором указан ID события, его Uid и дельта времени. Если в календаре сделать так, что для каждого пользователя (ID которых перечислены в объекте календаря) будет свое событие, то фактически получится, что они при следующем обновлении будут показывать на то время, на которые пользователь перетащил самое последнее событие! И то они будут "скошены", потому что передается не время, а дельта времени.