Вам нужна модель вида, специально адаптированная к потребностям этого вида. При определении моделей представлений вы не должны думать с точки зрения таблиц. Таблицы SQL не имеют абсолютно никакого значения в представлении. Подумайте о том, какую информацию вам нужно показать, и определите модели представлений соответствующим образом. Тогда вы можете использовать AutoMapper для преобразования между вашими реальными моделями и моделью представления, которую вы определили.
Итак, забудьте обо всем, что вы сказали о таблицах, и сосредоточьтесь на следующем предложении:
В представлении я хочу показать список
ритейлеры и с каждым ритейлером я
хочу показать список категорий
применимо к ним.
Это предложение на самом деле очень хорошо, поскольку оно объясняет именно то, что вам нужно. Поэтому, когда вы знаете, что вам нужно, продолжайте моделировать это:
public class CategoryViewModel
{
public string Name { get; set; }
}
public class RetailerViewModel
{
public IEnumerable<CategoryViewModel> Categories { get; set; }
}
Теперь вы строго набираете свой вид на IEnumerable<RetailerViewModel>
. Отсюда легко и просто сделать то, что вы хотите в представлении:
показывает список розничных продавцов, у каждой из которых есть список связанных категорий.