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