2016-06-16 1 views
0

et je suis erreur Lorsque le nom du client ou le nom de l'agent = nullje suis erreur Lorsque le nom du client ou le nom de l'agent = null

var results = db.Users.ToDataSourceResult(request, o => new 
      { 
       Id= o.Id, 
       UserName = o.UserName, 
       Email = o.Email, 
       PhoneNumber = o.PhoneNumber, 
       AgentName = o.Agent.FullName, 
       CustomrName = o.Customer.Name 


      }); 

      return Json(results, JsonRequestBehavior.AllowGet); 
+0

S'il vous plaît donner un exemple plus complet de ce que vous essayons de faire –

Répondre

0

vous obtenez une erreur parce que vous tentez d'accéder à la propriété d'un objet qui est nul. Les propriétés de l'agent et du client dans ce cas. Vous devez tester les valeurs null avant d'essayer de les utiliser.

var results = db.Users.ToDataSourceResult(request, o => new 
{ 
    Id = o.Id, 
    UserName = o.UserName, 
    Email = o.Email, 
    PhoneNumber = o.PhoneNumber, 
    AgentName = o.Agent == null ? null : o.Agent.FullName, 
    CustomrName = o.Customer == null ? null : o.Customer.Name 
}); 

return Json(results, JsonRequestBehavior.AllowGet); 

Ou si vous utilisez C# 6, vous pouvez utiliser la nouvelle raccourci

var results = db.Users.ToDataSourceResult(request, o => new 
{ 
    Id = o.Id, 
    UserName = o.UserName, 
    Email = o.Email, 
    PhoneNumber = o.PhoneNumber, 
    AgentName = o.Agent?.FullName, 
    CustomrName = o.Customer?.Name 
}); 

return Json(results, JsonRequestBehavior.AllowGet); 
0

Si vous voulez dire que vous avez une erreur de référence qui est parce que l'agent et le client charge pas dans la constructeur de classe d'utilisateur, vous devez utiliser le chargement paresseux

Public class user{ 
public user 
(
agent=new Agent(); 
customer=new Customer(); 
) 

} 
0

i utilisé ce code et travaillé grâce

var results = db.Users.Include("Customer").Include("Agent").ToDataSourceResult(request, o => new 
      { 
       Id = o.Id, 
       UserName = o.UserName, 
       Email = o.Email, 
       PhoneNumber = o.PhoneNumber, 
       AgentName = o.Agent?.FullName, 
       CustomrName = o.Customer?.Name 


      }); 

      return Json(results, JsonRequestBehavior.AllowGet);