【发布时间】:2012-03-19 08:23:45
【问题描述】:
我有两个模型:
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; }
}
两者都有更多内容,但这些是重要的部分。当我保存目的地时,我将 Navigation ParameterName 设置为“Destination”,并将 ParameterValue 设置为 DestinationID。
我无法将目的地映射到导航,因为导航根本不依赖于目的地。它可以将任何模型作为 ParameterName 并将 ParameterValue 作为该模型的 ID(或者这两者甚至可以为 null,因为它仅与页面相关而不与任何其他模型相关)。
因此,当我查看单个目的地或循环浏览列表时,我需要能够获取 Navigation.FriendlyURL。这就是为什么我添加了 public virtual Navigation Navigation { get;放; }。在我的映射类中,虽然我需要能够根据“Destination”的 ParameterName 和 Destinations.DestinationID 的 ParameterValue 获取导航。这就是我完全陷入困境的地方。
我假设我需要这样的东西:
this.HasRequired(d => d.Navigation)
.WithRequiredDependent(WHAT GOES HERE)
.Map(WHAT GOES HERE)
.WillCascadeOnDelete(false);
【问题讨论】:
标签: asp.net-mvc entity-framework ef-code-first