次のシナリオがあります。結合ステートメントを含む1 つのlinqクエリ:
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();
ありがとう。