0

次のシナリオがあります。結合ステートメントを含む1 つのクエリ:

public Object getMGM(int MEB_Id)
{
    var unitOfWork = new DAL.Implementations.Entity_Framework.UnitOfWork<dbgmEntities>();

    var queryRoles =  from a in unitOfWork._ctx.MembrosMGM
                          join b in unitOfWork._ctx.Membros on a.MGM_Pai equals b.MEB_Id
                          where a.MGM_Filho == MEB_Id
                          select new { b.MEB_Nome, b.MEB_Id, a.MGM_Familiar };

    return queryRoles;
}

queryRolesスレッド内で実行されています。したがって、オブジェクトとして返すだけです。しかし、それをキャストして選択を取得する方法が見つかりません{ b.MEB_Nome, b.MEB_Id, a.MGM_Familiar }。戻り値に1つのエンティティを設定して次のコードを試してみましたが、正常に動作しますが、同じlinqクエリに複数のエンティティがある場合、キャストバックする方法がわかりません:

//this one works fine if i have just one entity set (DAL.MembroResponsavel)
var queryMembroResponsaveis = ((IEnumerable)smartThreadPool.QueueWorkItem(x => editMeb.getMembroResponsavel(currentId)).Result).Cast<DAL.MembroResponsavel>().ToList();

ありがとう。

4

2 に答える 2