2011-10-07 128 views
0

我尝试让表格保留父子数据。父母的OFC根是“0”,这里在桌子上可以有很多根。当我尝试做这个工作时,我得到了错误。当我尝试使用继承Linq magic时出现错误

无法创建类型为'Projekty03.ViewsModels.ParagrafViewModel'的常量值。在此上下文中仅支持基本类型(如Int32,String和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); 
    } 

我相信我的可怜的魔术LINT认为是错的。如何解决此问题?

+0

Post your viewmodel – 2011-10-07 10:39:32

回答

0

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

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); 
    } 
相关问题