我有一个链接表,并且一些链接将是子链接,引用父链接ID 但是我无法绕过服务栈ormlite和填充子项的属性,将在获得所有链接列表时的所有子链接。服务栈ormlite和外键到同一张表
这里是我的模型:
public partial class Navigation
{
[Alias("Id"), AutoIncrement]
public int Id { get; set; }
[Alias("ParentId")]
[Display(Name = "ParentId")]
[References(typeof(Navigation))]
public int? ParentId { get; set; }
[Alias("LinkText")]
[StringLength(50, ErrorMessage = " Must be no more than 50 characters long!")]
[Display(Name = "LinkText")]
public string LinkText { get; set; }
[Alias("Action")]
[StringLength(50, ErrorMessage = " Must be no more than 50 characters long!")]
[Display(Name = "Action")]
public string Action { get; set; }
[Alias("Controller")]
[StringLength(50, ErrorMessage = " Must be no more than 50 characters long!")]
[Display(Name = "Controller")]
public string Controller { get; set; }
[Alias("Area")]
[StringLength(50, ErrorMessage = " Must be no more than 50 characters long!")]
[Display(Name = "Area")]
public string Area { get; set; }
[Alias("Visible")]
[Display(Name = "Visible"),Required(ErrorMessage = " is required")]
public bool Visible { get; set; }
[Alias("Sequence")]
[Display(Name = "Sequence")]
public int? Sequence { get; set; }
[ForeignKey(typeof(Navigation))]
public virtual ICollection<Navigation> Children { get; set; }
}
什么想法?
是有一个快速的方法,我可以做到这一点,例如,创建我的最终结果模型并具有再填充,因为我需要它,上面的是现有项目的相当大一部分,它使用实体框架在这一刻,我试图证明,ormlite将能够处理这样的事情,在项目中没有太大的麻烦,不真正理解你发给我的链接真的,我不想插入,只是提供结果。谢谢 – davethecoder
我没有时间自己做这些,但是你可以做一个扩展方法,其行为与你想要的相似,例如, 'model.Children()'使用反射来查看src +子表并使用约定来构建相应的sql想要的。 –
mythz