Передача полных сущностей в хранилище или только идентификаторы для их удаления? - PullRequest
1 голос
/ 13 ноября 2010

Я просто спросил себя, действительно ли нужно передать весь список SelectedCustomers методу удаления из репозитория, например:

_customerRepo.DeleteCustomers(SelectedCustomers);

Не лучше ли передать только идентификаторы клиентов, которые будут удалены, например

List<int> SelectedCustomerIDs = GetSelectedCustomersIDs(SelectedCustomers);
_customerRepo.DeleteCustomers(SelectedCustomerIDs);

Я не использую ORMapper, который наверняка принимает только полные сущности для принятия или удаления его из контекста.

Я использую sqlite, поэтому я подумал, что передача значений типа int быстрее / меньше, чем Ram, чем передача списка объектов.

Что ты думаешь?

1 Ответ

1 голос
/ 13 ноября 2010

Объекты уже находятся в памяти, и вы не копируете их при передаче в хранилище, а только ссылаетесь на них. Таким образом, вы не будете экономить на памяти (если ваш репозиторий не находится на другом сервере).

Пока в вашем хранилище вы просто используете идентификаторы для передачи в базу данных, все будет в порядке.

...