1つのlinqクエリに複数の「Groupinto」ステートメントが必要だと思います。これが私がやろうとしていることです:
var queryNew = from a in ICDUnitOfWork.AlphaGroups.Find()
join e in ICDUnitOfWork.Alphas.Find()
on a.AlphaGroupID equals e.AlphaGroupID into g
join c in ICDUnitOfWork.Codes.Find()
on a.CodeID equals c.CodeID into co
join cod in ICDUnitOfWork.Codes.Find()
on g.CodeID equals cod.CodeID
select new HomeSearchViewModel
{
Alphas = g,
AlphaGroups = a,
AlphaGroupCode = co,
AlphasCodes = cod
};
アルファグループには、アルファのコレクションがあります。各AlphaGroupには対応するAlphaGroup.CodeIdがあり、各Alphaには「Codes」クラスと結合する必要があるAlpha.CodeIdがあります。これを実現するためにクエリを調整する方法がわかりません。
編集: 最終結果は次のようになります。
AlphaGroup->複数の「アルファ」が含まれています
各AlphaGroupには、「Codes」クラスの対応するCodeIdがあり、各Alphaにも対応するCodeIDがあります。
したがって、ViewModelは次のようになります。
public class HomeSearchViewModel
{
public IEnumerable<Alpha> Alphas { get; set; }
public AlphaGroup AlphaGroups { get; set; }
public IEnumerable<Code> AlphasCodes { get; set; }
public Code AlphaGroupCode { get; set; }
public string SearchTerm { get; set; }
}