この問題を解決するために、数日 (場合によっては数週間) を費やしました。次の階層にデータを整理しようとしている 2 つのテーブルがあります。以下は、これがどのようなものになるべきかの例です:
<ul><strong>PageTitle</strong>
<li>Category A</li>
<li>Category B</li>
<li>Category C</li>
LinQPad でクエリを正常に実行していますが、MVC では機能しません。これが私がMVCで使用しているコードです。
public IEnumerable<wl> List()
{
IEnumerable<wl> wlTest;
using (LibEntities _libEntity = new LibEntities()) {
wlTest = (from p in table1
join c in table2 on p.PK equals c.FK
group p by new { c.title } into g
select new wl
{
TitleName = g.Key.title,
Category = from p in g
group p by g.cat_id into d
select new wl{d.Key.cat_id}
}).ToList();
return wlTest;
}
}
wl クラス情報は次のとおりです。
public class wl
{
public string TitleName { get; set; }
public string Category { get; set; }
}
私は得続けます
タイプ 'LibraryProject.Model.wl' は、'System.Collections.IEnumerable' を実装していないため、コレクション初期化子で初期化できません。
さて、これは LinqPad での非常によく似たクエリです。
from f_a_p in Find_article_progs
join f_a in Find_articles on f_a_p.Prog_num equals f_a.DbProg
where f_a_p.Parent_id == 183
group f_a by new {f_a_p.Prog_title} into d
select new {
d.Key.Prog_title,
Links = from f_a in d
group f_a by new {f_a.DbTitle} into c
select new {
c.Key.DbTitle
}
}
誰でもこれで私を助けることができますか?