1

これが私の声明です

private IEnumerable<IGrouping<AccountEntity,AxsEntity>> GetAxsEntitiesForInvoicing(IDataAccessAdapter adapter)
{
    var metaData = new LinqMetaData(adapter);
    var query = from axsEntity in metaData.Axs
                join accountEntity in metaData.Account on axsEntity.AccountId equals accountEntity.AccountId
                where
                        (axsEntity.DateDeleted.HasValue? axsEntity.DateDeleted.Value<DateTime.Now:true) &&
                        (axsEntity.DateEnd == null || axsEntity.DateEnd > axsEntity.DateRenewal) &&
                        axsEntity.DateRenewal < RenewalDate // NONE INCLUSIVE DATE
                        group axsEntity by accountEntity into axsCol
                select axsCol;
    return query;

これを .ToList() に変換しようとするとすぐにエラーがスローされます。

タイプ 'System.Linq.IQueryable 1[[<>f__AnonymousType02[[Data.Rad.EntityClasses.AxsEntity, Data.Rad, Version=1.0.4125.30654, Culture=neutral, PublicKeyToken=null],[Data.Rad.EntityClasses.AccountEntity, Data.Rad 、Version=1.0.4125.30654、Culture=neutral、PublicKeyToken=null]]、Model.Rad、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null]]' をエンティティ型に変換することはできません。group by 句で let ステートメントを使用しましたか?

とにかくこれを行うことはありますか。メモリ内でグループ化すると、コンピューターが強制終了します。

4

1 に答える 1

2

groupby クエリはデータをグループ化し、エンティティはテーブルから直接フェッチされるため、groupby クエリを使用してエンティティをフェッチすることはできません。

于 2011-04-20T10:46:08.330 に答える