Вот мой типичный сценарий:Правильных подход с использованием коллекций с GridView управления ASP.NET C#
У меня есть много C# бизнес-объектов, которые более или менее соответствуют моей конструкции базы данных. У меня также есть коллекции этих объектов, которые я использую для привязки к gridviews. Каков наилучший способ объединить поля из обоих этих объектов в мой gridview (без использования данных или создания представления).
Предположим, что я хочу видеть сетку со следующими столбцами: Идентификатор продукта, Название продукта, Стоимость продукта, Доставка Название компании. Обычно я просто получаю свою коллекцию продуктов из базы данных и использую шаблон элемента для названия транспортной компании. Затем я получил бы ShippingCompanyID в событии rowdatabound и снова зашел в базу данных, чтобы получить название моей транспортной компании. Я ненавижу дважды ходить в базу данных, может кто-то меня обучит тому, как я должен подходить к этому?
Продукт класса
- ProductID
- Имя
- Стоимость
- ShippingCompanyID
пароходство Класс
- Ши ppingCompanyID
- Имя
Спасибо AVD! Вы бы действительно подошли к этой проблеме? Вы предпочитаете работать с datatables вместо коллекций? Есть ли проблема с скоростью, использующая linq для объединения коллекций вместо того, чтобы присоединяться к таблице один раз в базе данных, а не в коде? Кроме того, этот способ заставляет вас дважды обращаться в базу данных, один раз для продуктов, снова для компаний. – stillsmallvoice
@stillsmallvoice - Я предпочитаю присоединяться к таблице в базе данных, создавая представления или хранимые-proc. – adatapost