如何更改分组List 以列出类型?

这是我的代码;

public List GetFoldersWithIndexedDocuments() { //TODO - I can't find right query. We need folders with documents but only documents which be Indexed using (ISession session = DatabaseProvider.SessionFactory.OpenSession()) { List dokumanList = session.QueryOver() .Where(x => x.IndexlenmeTarihi != null) .List().ToList(); var list = dokumanList.GroupBy(x => x.Klasor.Aciklama); List folders = list as List; ////Transforming SbtKlasorModel to SbtKlasorViewModel for respose List transformedFolders = folders .Select(x => ModelTransformer.TransformModel(x)).ToList(); return transformedFolders; } } 

DokumanlarModel.cs:

 public class DokumanlarModel : SModuleClass { public virtual int DokumanId { get; set; } public virtual string DokumanAdi { get; set; } public virtual int DosyaBoyutu { get; set; } public virtual int Durum { get; set; } public virtual string EskiPath { get; set; } public virtual string IndexTahsisKullanici { get; set; } public virtual DateTime? IndexlenmeTarihi { get; set; } public virtual string IndexleyenKullanici { get; set; } public virtual string KaliteKontrolKullanici { get; set; } public virtual DateTime? KaliteKontrolTarihi { get; set; } public virtual SbtKlasorModel Klasor { get; set; } public virtual int KlasordekiSira { get; set; } public virtual DokNitelikTipModel NitelikTipId { get; set; } public virtual int OcrDurum { get; set; } public virtual string Path { get; set; } public virtual int SayfaSayisi { get; set; } public virtual DateTime? TaranmaTarihi { get; set; } public virtual string TarayanKullanici { get; set; } public virtual int Versiyon { get; set; } public virtual string OrjinalPath { get; set; } public virtual IList LogDokumanList { get; set; } public virtual IList DokumanlarOcrList { get; set; } public virtual IList DokVersiyonList { get; set; } public virtual IList DokMetaDataArsivList { get; set; } public DokumanlarModel() { LogDokumanList = new List(); DokumanlarOcrList = new List(); DokVersiyonList = new List(); DokMetaDataArsivList = new List(); } } 

SbtKlasorModel.cs:

 public class SbtKlasorModel : SModuleClass { public virtual int KlasorId { get; set; } public virtual string Aciklama { get; set; } public virtual string Ada { get; set; } public virtual string KisiAdSoyad { get; set; } public virtual string Mahalle { get; set; } public virtual string Parsel { get; set; } public virtual string SerhAciklama { get; set; } public virtual DateTime SerhBaslangicTarihi { get; set; } public virtual DateTime SerhBitisTarihi { get; set; } public virtual SbtKullaniciModel SerhKullanici { get; set; } public virtual string Pafta { get; set; } public virtual string KlasorNo { get; set; } public virtual string SiraNo { get; set; } public virtual string AciklamaYeni { get; set; } public virtual IList IlskGrupKlasorList { get; set; } public virtual IList DokumanlarList { get; set; } public virtual IList DokTaleplerList { get; set; } public SbtKlasorModel() { IlskGrupKlasorList = new List(); DokumanlarList = new List(); DokTaleplerList = new List(); } } 

我从数据库中获取了List这样的数据。 并按“DokumanlarModel.Klasor.Aciklama”分组。 但我需要列表清单。 我试过像上面那样。 它返回null。 我应该怎么做这种类型的改变?

 public List GetFoldersWithIndexedDocuments() { using (var session = DatabaseProvider.SessionFactory.OpenSession()) { var foldersContainingIndexedDocs = session.QueryOver() .JoinQueryOver(x => x.DokumanlarList) .Where(doc => doc.IndexlenmeTarihi != null) .List(); //Transforming SbtKlasorModel to SbtKlasorViewModel for respose return folders.Select(ModelTransformer.TransformModel).ToList(); } }