Самый простой способ сделать это - аннотировать ваш файл метаданных для продуктов и позволить сетке генерировать столбцы для вас.
Например, ваши таблицы, вероятно, будут выглядеть примерно так:
Product
int Id;
string ProductName;
int CategoryId;
Category
int Id;
string CategoryName;
int StoreId;
Store
int Id;
string StoreName;
Теперь, когда вы создаете свой сервис, вы можете включить 3 таблицы / сущности из вашей модели домена и попросить его сгенерировать файл метаданных для вас.В этом файле правильно аннотируйте объекты следующим образом:
internal sealed class ProductMetadata
{
[Key]
[Bindable(false)]
[Display(AutogenerateField=false)]
public int Id { get; set; }
[Bindable(true, BindingDirection.TwoWay)]
[Display(Name="Product")]
[StringLength(20, MinimumLength=3)]
public string ProductName { get; set; }
[Bindable(false)]
[Display(AuteogenerateField=false)]
public Category Category { get; set; }
[Required]
[Bindable(false)]
[Display(AutogenerateField=false)]
public CategoryId { get; set; }
}
Вы можете сделать то же самое с метаданными других ваших объектов.
Единственное, что вам может понадобиться сделать, это добавить 2другие столбцы в вашей сетке, и они должны отображаться в Product.Category.CategoryName и Product.Category.Store.StoreName