Выполните асинхронный запрос, используя Linq2Db ... получая исключение - PullRequest
0 голосов
/ 06 февраля 2019

После ответа на мой предыдущий пост я пытался преобразовать свой код из оператора sql в Linq, но я получил следующее исключение при попытке его выполнить.

Этот фрагмент кода работает

 return (await conn.QueryToListAsync<Condizione>(
                @"SELECT A.*, Y.DESCRIZIONE AS MACRORAMOSTR,X.PROGR_CATEGORIA
                    FROM VW_CONDIZIONI A 
                    INNER JOIN CONDIZIONI_CATEGORIE X ON X.ID_CONDIZIONE = A.ID_CONDIZIONE
                    INNER JOIN BGRUPPO_RAMO Y ON Y.ID = X.ID_GRUPPO_RAMO WHERE A.ID_CONDIZIONE = @ID_CONDIZIONE",
                new {ID_CONDIZIONE = id})).First();

Теперь я попытался сделать

  var eee = await conn.VwCondizioni.Where(x => x.IdCondizione == id).Join(
                    conn.CondizioniCategorie, x => x.IdCondizione, y => y.IdCondizione, (a, b) =>
                        new { a.IdCondizione, b.ProgrCategoria, b.IdGruppoRamo, a.DataDecorrenza, b.IdCategoria })
                .Join(conn.GruppoRamo, x => x.IdGruppoRamo, y => y.Id, (a, b) =>
                    new Condizione
                    {
                        MacroRamoStr = b.Descrizione,
                        ProgessivoCategoria = a.ProgrCategoria,
                        DataDecorrenza = a.DataDecorrenza,
                        Id = a.IdCondizione,
                        IdCategoria = a.IdCategoria.Value
                    }).FirstAsync();



            return eee;

И я получил это исключение

The provider for the source IQueryable doesn't implement IDbAsyncQueryProvider. Only providers that implement IDbAsyncQueryProvider can be used for Entity Framework asynchronous operations. For more details see http://go.microsoft.com/fwlink/?LinkId=287068."}

Что я делаю не так?Спасибо

...