#c# #.net-core
Вопрос:
Я храню двоичные данные в базе данных и читаю их, используя SqlDataReader
вот так:
DataAccess.Person person = new(); person.Photo = (byte[])reader["Photo"];
В какой-то момент данные из объекта доступа к данным копируются в объект передачи данных. Затем бизнес-правила обработают двоичные данные, которые, я думаю, вызовут еще одну копию данных. Таким образом, мои двоичные данные копируются несколько раз.
Как я могу использовать Spanlt;Tgt;
или Memorylt;Tgt;
уменьшить копирование данных, когда мои данные перемещаются с одного уровня приложения на другой уровень, а затем используются бизнес-правилами?
Комментарии:
1. Массив является ссылочным типом, поэтому у вас не будет нескольких копий данных, если вы их явно не создадите.
2. Прежде чем приступать к какой-либо оптимизации, вы должны установить конкретные цели по производительности и измерить свое текущее состояние . Нет смысла оптимизировать там, где а) вы уже достигаете своих целей, или б) где цель вашей оптимизации не несет ответственности за проблему.