Bunun için yüzlerce yöntem kullanılabilir c#'da aslında ancak bence şu şekilde bir yapı olmalı;

internal class Urun { public int UrunID { get; set; } public string UrunAdi { get; set; } public Kategori Kategori { get; set; } public double Fiyat { get; set; } }
internal class Kategori { public int KategoriID { get; set; } public string KategoriAdi { get; set; } }