Asp.net mvc 3 尝试使用inherit Linq magic时视图中出现错误

Asp.net mvc 3 尝试使用inherit Linq magic时视图中出现错误,asp.net-mvc-3,linq-to-sql,Asp.net Mvc 3,Linq To Sql,我尝试创建一个表,在其中保存子级和父级数据。父对象的Ofc根为“0”,表中的这个可以由多个根组成。当我试着做这件事时,我犯了一个错误 无法创建“Projekty03.ViewsModels.pararafviewmodel”类型的常量值。在此上下文中仅支持基本类型(“如Int32、字符串和Guid”)。 public ViewResult Index() { List<ParagrafViewModel> _paragrafparent = new

我尝试创建一个表,在其中保存子级和父级数据。父对象的Ofc根为“0”,表中的这个可以由多个根组成。当我试着做这件事时,我犯了一个错误

无法创建“Projekty03.ViewsModels.pararafviewmodel”类型的常量值。在此上下文中仅支持基本类型(“如Int32、字符串和Guid”)。

    public ViewResult Index()
    {

        List<ParagrafViewModel> _paragrafparent = new List<ParagrafViewModel>();
        _paragrafparent.Add(new ParagrafViewModel { ParagrafID = 0, ParagrafNazwa = "Root" });

        var _paragrafparent2 = from pr in paragrafRepository.All
                               orderby pr.ParagrafID
                               select new ParagrafViewModel
                               {
                                   ParagrafID = pr.ParagrafID,
                                   ParagrafNazwa = pr.ParagrafNazwa
                               };

        var _paragrafparent3 = _paragrafparent.Concat(_paragrafparent2).AsEnumerable();

        var paragraf = from par in paragrafRepository.All
                       join rodzic_p in _paragrafparent3
                       on par.ParagrafParent equals rodzic_p.ParagrafID
                       orderby par.ParagrafParent, par.ParagrafID
                       select new ParagrafViewModel
                       {
                           ParagrafID = par.ParagrafID,
                           ParagrafNazwa = par.ParagrafNazwa,
                           ParagrafParent = par.ParagrafParent,
                           ParagrafCzynny = par.ParagrafCzynny,
                           ParagrafWplyw = par.ParagrafWplyw,
                           ParagrafParentNazwa = rodzic_p.ParagrafNazwa
                       };

        return View(paragraf);
    }
公共视图结果索引() { 列表_pararafparent=新列表(); _添加(新的pararafviewmodel{ParagrafID=0,pararafnazwa=“Root”}); var _paragrafparent2=来自paragrafRepository.All中的pr 帕拉菲德公共医嘱 选择新的pararafviewmodel { ParagrafID=pr.ParagrafID, ParagrafNazwa=pr.ParagrafNazwa }; var _pararafparent3=_pararafparent.Concat(_pararafparent2.AsEnumerable(); ValPARRAFF =从PARAFRAP库中的PAR。 加入rodzic,加入paragrafparent3 关于Pal.PaulFaRead等于RoZZICP.PalaFRAID PAR.PARAFRAPEND,PAR.PARAFRAID 选择新的pararafviewmodel { 帕拉菲 帕拉夫纳扎瓦 Pr.Pr.PaulrPrimon, 帕拉夫 Pr.Pr.PaulaRaFWPLYW, ParagrafParentNazwa=rodzic_p.ParagrafNazwa }; 返回视图(pararaf); }
我相信我可怜的魔法LINQ think是错的。如何解决这个问题?

好的,这是我自己问题的答案。我肯定这不是一个很好的解决方案,但是

    public ViewResult Index()
    {

        List<ParagrafViewModel> _paragrafparent = new List<ParagrafViewModel>();
        _paragrafparent.Add(new ParagrafViewModel { ParagrafID = 0, ParagrafNazwa = "Root", ParagrafCzynny=false,  });

        var _paragrafparent2 = from pr in paragrafRepository.AllIncluding(paragraf => paragraf.WniosekPodzial)
                               orderby pr.ParagrafID
                               select new ParagrafViewModel
                               {
                                   ParagrafID = pr.ParagrafID,
                                   ParagrafNazwa = pr.ParagrafNazwa,
                                   ParagrafParent = pr.ParagrafParent,
                                   ParagrafCzynny = pr.ParagrafCzynny,
                                   ParagrafWplyw = pr.ParagrafWplyw,
                                   WniosekPodzialNazwa = pr.WniosekPodzial.WniosekPodzialNazwa
                               };

        var _paragrafparent3 = _paragrafparent.Concat(_paragrafparent2).AsEnumerable();

        var paragrafModel = from par in _paragrafparent3
                       join rodzic_p in _paragrafparent3
                       on par.ParagrafParent equals rodzic_p.ParagrafID
                       orderby par.ParagrafParent, par.ParagrafID
                       select new ParagrafViewModel
                       {
                           ParagrafID = par.ParagrafID,
                           ParagrafNazwa = par.ParagrafNazwa,
                           ParagrafParent = par.ParagrafParent,
                           ParagrafCzynny = par.ParagrafCzynny,
                           ParagrafWplyw = par.ParagrafWplyw,
                           ParagrafParentNazwa = rodzic_p.ParagrafNazwa,
                           WniosekPodzialNazwa = par.WniosekPodzialNazwa
                       };

        return View(paragrafModel);
    }
公共视图结果索引() { 列表_pararafparent=新列表(); _添加(新的pararafviewmodel{pararafid=0,pararafnazwa=“Root”,pararafczynny=false,}); var _paragrafparent2=来自paragrafRepository.AllIncluding中的pr(paragraf=>paragraf.WniosekPodzial) 帕拉菲德公共医嘱 选择新的pararafviewmodel { ParagrafID=pr.ParagrafID, ParagrafNazwa=pr.ParagrafNazwa, ParagrafParent=pr.ParagrafParent, pararafczyny=pr.pararafczyny, ParagrafWplyw=pr.ParagrafWplyw, WniosekPodzialNazwa=pr.WniosekPodzial.WniosekPodzialNazwa }; var _pararafparent3=_pararafparent.Concat(_pararafparent2.AsEnumerable(); VA PARRAFMODE=从PARA中的PAR 加入rodzic,加入paragrafparent3 关于Pal.PaulFaRead等于RoZZICP.PalaFRAID PAR.PARAFRAPEND,PAR.PARAFRAID 选择新的pararafviewmodel { 帕拉菲 帕拉夫纳扎瓦 Pr.Pr.PaulrPrimon, 帕拉夫 Pr.Pr.PaulaRaFWPLYW, ParagrafParentNazwa=rodzic_p.ParagrafNazwa, 威尼索克 }; 返回视图(paragrafModel); }