Je suis implémentant le projet ASP.NET CORE MVC. Dans ma classe de contrôleur appelée apiappplicant, créez une méthode, j'ai 3 sélectionneurs que ses articles doivent être remplis d'une table appelée apiappplicanthistory. Mes modèles et mes modèles et mes méthodes de création sont implémentés comme suit: et une partie de la mise en oeuvre de la vue: p> dans la méthode de création, Toutes les visionneuses sont remplies avec les données correspondantes correctes, mais le problème est existant dans la vue Create, après avoir exécuté le projet, une erreur comme ci-dessous est affichée dans Créer une page: P> Une exception non gérée s'est produite lors du traitement de la demande.
NullReferenceException: référence d'objet non définie à une instance d'un objet. P> Après avoir débogué le code Je comprends que dans la vue Créer une vue, Apiappplicantvm n'est pas null, mais ApiappplicantHistoryVM renvoie Null et l'erreur ci-dessus est à cause de cela. J'apprécie si quelqu'un pouvait me dire comment résoudre le problème. P> p>
3 Réponses :
J'espère que vous utiliseriez Core EF comme or, car vous utilisez Pour charger des données associées dans Il peut être fait de 2 façons ou ou fort> p>
ou fort> p>
sur startup.cs de votre projet CORE MVC
Exemple de chargement paresseux. P>
Pour plus d'informations docs.microsoft.com/en-us/ef/core/Query/Related-Data P>
https://docs.microsoft.com/fr -us / ef / noyau / interrogation / données associées p> asp.net core code>. p>
EF Core CODE>. P>
_Context.entitytype.where (g => g.entitykey == "SENTRESPONSETYPE")
.Clueut (x => x.apiapappplicantorylaserqstatusnavigation) .toliste () code> p>
substitut de substitution
ONCONFIGUMINGING (DBContextOptionSBuilder OptionsBuilder) => OptionsBuilder .USELAZYLODINGPROXIES () .Utilisez-laqlserver (myConnectionstring); Code> P>
.adddbcontext
Merci beaucoup pour les réponses. J'utilise EF Core et j'ai changé mon code comme ce que vous avez suggéré. J'ai ajouté viewdata ["SentresponseType"] = nouvelle liste de sélection (_Context.entitytype.where (g => g.entitykey == "SentresponseType") .Clueut (x => x.apiappplicantorylastraqstatusnavigation) .tolist (), "id", "nom"); p>
dans ma méthode de création. P>
Et mon problème est ici dans la vue Create View, dans la ligne ci-dessous, il existe une valeur nulle dans ApiappplicantHistoryVM: P>
Merci pour l'aide. Le problème était ici dans mon code ViewData ["SentresponsetypeyType"] = nouvelle liste de sélection (_Context.entitytype.where (g => g.entitykey == "Sentreponsetype"). Tolist (), "ID", "Nom"); P>
Je devrais utiliser ID au lieu de ID selon mon modèle d'entitéType. p>
Pourriez-vous s'il vous plaît ajouter votre
OnModelCreatier code> de dbcontext?
_Context.entitytype.where (g => g.entitykey == "SentresponseType") .include (x => x.apiapappe plicantoryLaste qstatusnavigation) .t olist () code> ou sur votre Modal CreartingCreatining
PROTECTION PROTECTION NOID ONCONFIGUMINGINGING (DBCONTEXTEXTOPTIONSBUILDER OPTIONSBUILDER) => OptionsBuilder .USELAZYLODINGPROXIES () .TUNUZLSERVER (MYCONNECTIONSRING); CODE> Pour plus d'informations Docs.Microsoft.com/en-us/ef/core/Querying/Related-Data
Vous n'avez pas utilisé votre viewModel déclaré dans la vue
Merci pour votre réponse. Pourriez-vous s'il vous plaît expliquer votre réponse plus clairement?
pouvez-vous essayer
var-ent = _context.entitytype.where (g => g.entitykey == "sentresponseypeytype") .include (x => x.apiappplicantorylastraqstatusnavigation). Pour liste () code> dans votre Créez une méthode et vérifiez respectée pour cela?
J'ai ajouté Var End = _Context.Entytype.where (g => g.entitykey == "SentresponseType"). Inclure (x => x.apiapapplicantorylastraqstatusnavigation) .tolist (); Dans ma méthode de création dans le contrôleur et à la vue, j'ai écrit
SELECT> DIV> Après avoir exécuté le projet et dans la page Créer, je vois un champ "SentresponsonType" mais ce n'est pas t rempli de données connexes