Le code ci-dessous renvoie une exception de référence null lorsqu'il n'y a aucune donnée à renvoyer de la procédure stockée. La méthode s'exécute avec succès si des données sont présentes.Un problème de référence nulle se produit lors de la conversion du modèle de domaine en modèle de vue
Est-ce que je fais quelque chose de mal avec le code ci-dessous? Ai-je besoin de créer un objet à partir du modèle?
public PersonVM GetStaff()
{
PersonDM personDM = _Repo.GetStaff();
PersonVM personVM = PersonVM.ToViewModel(personDM);
return personVM;
}
public class PersonDM
{
public int RoleID { get; set; }
public string Name { get; set; }
}
public class PersonVM
{
public int RoleID { get; set; }
public string Name { get; set; }
public static PersonVM ToViewModel(PersonDM model)
{
return new PersonVM
{
RoleID = model.RoleID,
Name = model.Name
};
}
public PersonDM ToEntityModel()
{
return new PersonDM
{
RoleID=this.=RoleID,
Name = this.Name,
}
}
}
Quand il n'y a pas de données à retour de la SP personDM
devient NULL. Je ai besoin d'être rempli avec des valeurs nulles sans retourner NULL. Est-il possible de réaliser?
J'ai fait la même chose avec une méthode qui renvoie une List<PersonVM>
avec le code ci-dessous. Il remplit la VM avec des valeurs NULL s'il n'y a pas de données présentes. Comment appliquer le code ci-dessous pour une méthode qui retourne le type PersonVM
public List<PersonVM> GetPartyByPartyRelationship(int partyRoleId, int partyRelationshipTypeId)
{
List<PersonDM> personDMList = _partyManagerRepo.GetPartyByPartyRelationship(partyRoleId, partyRelationshipTypeId);
List<PersonVM> personVMList = new List<PersonVM>();
foreach (PersonDM personDM in personDMList)
{
personVMList.Add(PersonVM.ToViewModel(personDM));
}
return personVMList;
}
Où est levée l'exception NullReferenceException? –
Est-ce que 'PersonDM personDM = _Repo.GetStaff();' retourne réellement un PersonDM? –
@ChrisPickford J'ai modifié la question. S'il vous plaît jeter un oeil –