我正在尝试构建一个包含许多域和菜单的结构。 所有菜单都与具有DomainID的域相关,因此每个域都可以管理所有者。
此外,域名所有者可以选择在菜单中显示的位置,它可能位于Heade或页脚区域。
这是我的模特
public class Domain
{
[Key]
public int DomainID { get; set; }
public string Name { get; set; }
public string Template { get; set; }
public string BookingType { get; set; }
public int? HeaderMenuID { get; set; }
public int? FooterMenuID { get; set; }
public virtual Menu HeaderMenu {get;set;}
public virtual Menu FooterMenu { get; set; }
public virtual List<DomainTranslation> DomainTranslations { get; set; }
public virtual List<Language> Languages { get; set; }
public virtual List<User> Users { get; set; }
public virtual List<Form> Forms { get; set; }
public virtual List<Car> Cars { get; set; }
public virtual List<Menu> Menus { get; set; }
}
public class Menu
{
[Key]
public int MenuID { get; set; }
public int DomainID { get; set; }
public int? ParentMenuID { get; set; }
[ForeignKey("ParentMenuID")]
public virtual Menu Parent { get; set; }
public virtual List<MenuTranslation> MenuTranslations { get; set; }
public virtual Domain Domain { get; set; }
}
当我更新数据库时,菜单数据库上的预期文件是:
[MenuID]
[DomainID]
[ParentMenuID]
但它正在填充 p>
[MenuID]
[DomainID]
[ParentMenuID]
[Domain_DomainID]
[Domain_DomainID1]
因此,Domain_DomainID和DomainDomainID1字段正在神秘地填充。
有趣的是:如果删除Virtual HeaderMenu和Virtual FooterMenu,菜单中的新字段([Domain_DomainID],[Domain_DomainID1])将消失。
我做错了什么?