Я даже не начинаю узнавать, как найти этот, настолько обнаженный со мной, как я пытаюсь объяснить.
У меня есть две модели:
public class Destinations
{
public int DestinationsID { get; set; }
public virtual Navigation Navigation { get; set; }
}
public class Navigation
{
public int NavigationID { get; set; }
public string ParameterName { get; set; }
public int ParameterValue { get; set; }
public string FriendlyURL { get; set; }
}
Есть что-то еще для них обоих, но это важные биты. Когда я сохраняю пункт назначения, я устанавливаю имя параметра навигации в «Пункт назначения», а значение параметра - в DestinationID.
Я не могу сопоставить пункт назначения с навигацией, поскольку навигация вообще не зависит от пункта назначения. Он может иметь любую модель в качестве ParameterName и ParameterValue в качестве идентификатора этой модели (или обе из них могут быть даже нулевыми, поскольку это относится только к странице, а не к какой-либо дополнительной модели).
Итак, когда я просматриваю один пункт назначения или перебираю список, мне нужно иметь возможность получить Navigation.FriendlyURL. Вот почему я добавил общедоступную виртуальную навигацию Navigation {get; задавать; }. В моем классе отображения, хотя мне нужно иметь возможность получить навигацию в соответствии с ParameterName "Destination" и ParameterValue of Destination.DestinationID. Вот где я полностью застрял.
Я предполагаю, что мне нужно что-то вроде этого:
this.HasRequired(d => d.Navigation)
.WithRequiredDependent(WHAT GOES HERE)
.Map(WHAT GOES HERE)
.WillCascadeOnDelete(false);
Любая помощь будет принята с благодарностью.