Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    allora, ho messo vari punti di interruzione.

    questo il pezzo di codice, ho messo dei commenti:
    codice:
                    var newUser = new Utente();
                    newUser.HasChanged = true;
                    using (var dbContext = new ClonidentDbContext())
                    {
                        dbContext.Users.Attach(newUser); // PUNTO DI INTERRUZIONE, NON DA ANCORA ERRORE
                        dbContext.Entry(user).Property(x => x.HasChanged).IsModified = true; // PUNTO DI INTERRUZIONE, DA ERRORE
                        //dbContext.SaveChanges();
                    }

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Quote Originariamente inviata da fermat Visualizza il messaggio
    allora, ho messo vari punti di interruzione.

    questo il pezzo di codice, ho messo dei commenti:
    codice:
                    var newUser = new Utente();
                    newUser.HasChanged = true;
                    using (var dbContext = new ClonidentDbContext())
                    {
                        dbContext.Users.Attach(newUser); // PUNTO DI INTERRUZIONE, NON DA ANCORA ERRORE
                        dbContext.Entry(user).Property(x => x.HasChanged).IsModified = true; // PUNTO DI INTERRUZIONE, DA ERRORE
                        //dbContext.SaveChanges();
                    }
    Perché crei un nuovo oggetto ClonidentDbContext e non usi quello che dovresti poter recuperare dal costruttore del controller?
    Ultima modifica di U235; 19-12-2023 a 04:10

  3. #3
    Quote Originariamente inviata da U235 Visualizza il messaggio
    Perché crei un nuovo oggetto ClonidentDbContext e non usi quello che dovresti poter recuperare dal costruttore del controller?
    eh mi sono fatto la stessa domanda.
    perchè io pure mi ricordavo che facevo così.
    ma il costruttore del controller, che ripeto non è cosa mia, è questo:
    codice:
           public AccountsController(UserManager<Utente> userManager,
               ILogger<AccountsController> logger,
               IEmailSender emailSender,
               SignInManager<Utente> signInManager,
               IConfiguration configuration)
           {
               _userManager = userManager;
               _logger = logger;
               _emailSender = emailSender;
               _signInManager = signInManager;
               _configuration = configuration;
           }
    tu come mi consiglieresti di fare???

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Quote Originariamente inviata da fermat Visualizza il messaggio
    eh mi sono fatto la stessa domanda.
    perchè io pure mi ricordavo che facevo così.
    ma il costruttore del controller, che ripeto non è cosa mia, è questo:
    codice:
           public AccountsController(UserManager<Utente> userManager,
               ILogger<AccountsController> logger,
               IEmailSender emailSender,
               SignInManager<Utente> signInManager,
               IConfiguration configuration)
           {
               _userManager = userManager;
               _logger = logger;
               _emailSender = emailSender;
               _signInManager = signInManager;
               _configuration = configuration;
           }
    tu come mi consiglieresti di fare???
    Hai già provato ad aggiungerlo nel costruttore? Una cosa del genere:

    codice:
    public AccountsController(ClonidentDbContext context,
               UserManager<Utente> userManager,
               ILogger<AccountsController> logger,
               IEmailSender emailSender,
               SignInManager<Utente> signInManager,
               IConfiguration configuration)
           {
               _context = context;
               _userManager = userManager;
               _logger = logger;
               _emailSender = emailSender;
               _signInManager = signInManager;
               _configuration = configuration;
           }
    Poi mi suona strano anche che tu stia aggiungendo un nuovo user dopo che sollevi un eccezione qualora non sia stato trovato, quindi si presume che tu voglia modificare quello che possiede la mail (commentata) e non uno privo di riferimenti.
    Inoltre anche a me suona strano che usi Entry... carica l'entità dal context e modifica quella.
    Ultima modifica di U235; 19-12-2023 a 13:57

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Quote Originariamente inviata da fermat Visualizza il messaggio
    codice:
    dbContext.Entry(user).Property(x => x.HasChanged).IsModified = true; // PUNTO DI INTERRUZIONE, DA ERRORE
    Perché usi il metodo Entry e non carichi l'entità dal Context?
    Siamo sicuri che quell'user possa essere effettivamente "agganciato" al contesto (ovvero che corrisponda a qualcosa di tangibile su DB)?

    Non credo sia poi quell'istruzione a darti l'errore che hai segnalato... o sì?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Quote Originariamente inviata da fermat Visualizza il messaggio
    codice:
    dbContext.Entry(user).Property(x => x.HasChanged).IsModified = true; // PUNTO DI INTERRUZIONE, DA ERRORE
    Perché usi il metodo Entry e non carichi l'entità dal Context?
    Siamo sicuri che quell'user possa essere effettivamente "agganciato" al contesto (ovvero che corrisponda a qualcosa di tangibile su DB)?

    Non credo sia poi quell'istruzione a darti l'errore che hai segnalato... o sì?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.