790 messaggi dal 11 febbraio 2013
In un endpoint dove ritorno il cliente (che ha una chiave composta) ottengo null con FindAsync mentre
con FirstOrDefautlAsync ottengo correttamente il cliente.

Da cosa dipende?

 public async Task<ClienteAgente> GetClienteAgenteAsync(string codcli,
            string brand, string codage, string divisione, string desti)
        {
            return await _context.ClientiAgenti
                .FirstOrDefaultAsync(c => c.Codcli == codcli
                                       && c.Codage == codage
                                       && c.Brand == brand
                                       && c.Desti == desti);
        }


scusate un ultimo suggerimento:
il parametro 'codage' è già passato come filtro globale posso ometterlo nel metodo e nella webapi?

modelBuilder.Entity<ClienteAgente>()
            .HasQueryFilter(u => u.Codage == _userProvider.GetUserCode());
11.272 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Da cosa dipende?

Verifica con che ordine stai fornendo gli argomenti al metodo FindAsync. Devi rispettare l'ordine delle colonne, così come sono state menzionate nella definizione della chiave primaria. Esempio:
return await _context.ClientiAgenti.FindAsync(valoreColonna1, valoreColonna2, valoreColonna3);



il parametro 'codage' è già passato come filtro globale posso ometterlo nel metodo e nella webapi?

Sì ma come verifica ad entrambi i quesiti, usa il logging delle query per capire cosa sta inviando EF al database.

ciao,
Moreno
Modificato da BrightSoul il 20 dicembre 2018 18.46 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.