0
我需要如何正确EF 4.1映射这种结构有些帮助:在EF 4.1中使用流畅映射映射复杂树对象?
public class Menu: Entity
{
public string Title { get; set; }
public virtual ICollection<MenuItem> MenuItems { get; set; }
}
public class MenuItem: Entity
{
public string Icon { get; set; }
public string Text { get; set; }
public string Action { get; set; }
public string Controller { get; set; }
public string Parameters { get; set; }
public virtual MenuItemType Type { get; set; }
public virtual Guid? ContextMenuId { get; set; }
public virtual Menu ContextMenu { get; set; }
public virtual Guid? ParentMenuItemId { get; set; }
public virtual MenuItem ParentMenuItem { get; set; }
public virtual ICollection<MenuItem> ChildMenuItems { get; set; }
}
实体基类有对enitties的ID,我也有一个构建为重点的映射基映射类。以下是我迄今为止的MenuItem类:
public class MenuItemMapping : EntityConfiguration<MenuItem>
{
public MenuItemMapping()
{
HasOptional(mi => mi.ParentMenuItem).WithMany(p => p.ChildMenuItems).HasForeignKey(mi => mi.ParentMenuItemId).WillCascadeOnDelete(false);
HasOptional(mi => mi.ContextMenu).WithMany().HasForeignKey(mi => mi.ContextMenuId).WillCascadeOnDelete(false);
}
}
我担心的是在文本菜单,因为它是一个菜单类型,不知道最好的方式来处理这种类型的O映射。
更新
好吧,我添加了菜单的菜单项的集合的额外的映射(在MenuMapping类类似于上述映射类),它似乎是好了,但我还是想知道我所做的是否正确。