Я хотел получить некоторые отзывы о ваших мыслях о хранении целых объектов в сеансе? Например, объект клиента. Как только клиент входит в свою панель управления, вместо повторной выборки своих данных каждый раз, когда это необходимо из идентификатора, хранящегося в сеансе, каковы плюсы и минусы сохранения всего объекта клиента в сеансе?Мысли о хранении целых объектов LINQ в сеансе?
Так в любое время вам нужно ссылаться на объект клиента, вы можете просто сделать:
Customer c = (Customer)Session["objCustomer"];
Очевидно, что вам нужно будет проверить и есть функция, которая обновляет сеанс. Вам нужно будет запустить эту функцию в случае нулевого сеанса или после создания обновления.
Кроме того, есть ли какие-либо другие проблемы, которые я должен знать об этом так? По-видимому, это было бы намного лучше, чем программирование, а также сделать гораздо меньше вызовов в базе данных. Мысли кто-нибудь?
Вам нужно быть особенно внимательным, чтобы вы не пытались следовать ленивым свойствам объекта. ИМО, лучше создать объект POCO, содержащий только те свойства, которые вам нужны регулярно, и сохранить их в сеансе, а не весь объект LINQ. – mellamokb
Согласовано. Вам нужен пользовательский объект для хранения вашей работоспособности в приложении, отключенный от фактической базы данных. Вы не хотите, чтобы деревья выражений и свойства с поздней оценкой смешивались с вашей состоятельностью. – David
Что сказал mellamokb. Добавив, что я думаю, что это была бы плохая идея, потому что кто-то, кто за вами после этого, может попытаться сделать что-то вроде обновления объекта и получить ошибки об удаляемом контексте. Метод POCO имеет четко определенные и доступные для поиска механизмы для возврата данных в линию с контекстом, чтобы вы могли воздействовать на него в базе данных. В долгосрочной перспективе это было бы менее вонючим в приложении. – Felan