У меня есть метод в моем DAL, возвращающий список клиентов:
Collection<Customer> FindAllCustomers();
У клиента есть следующие столбцы: ID, имя, адрес, биография
Мне нужно показать их в постраничной сетке в форме ASPX (show-Customers.aspx), где я буду показывать только эти столбцы: ID, Имя
Теперь, в моем DAL FindAllCustomers () я должен также вернуть поле Bio из SP (я заполняю коллекцию с помощью ридера)? Био поле может быть большим (nvarchar (max)). Я думал о ленивой загрузке или загрузке только обязательных полей. Но тогда в этом случае мне нужно будет создать другой метод, который возвращает «полный» список клиентов, включая биографию, чтобы сторонние приложения могли использовать его через сервисный уровень. Так что это нормально, чтобы создать такой метод:
Collection<Customer> FindAllCustomers(bool loadPartial);
Если loadPartial = true, то не загружайте Bio, иначе загрузите ее. В этом случае, поскольку я не хочу возвращать био из SP, мне нужно создать 2 оператора select в моем SP на основе значения bool.
Я думаю, что использование отложенной загрузки здесь не сработает, потому что тогда к методу DAL может обратиться стороннее приложение, которое также может захотеть загрузить биографию.
Какие-либо предложения по наилучшему шаблону для реализации в таких случаях?
спасибо,
Викас