2017-10-19 28 views
0

Je suis très débutant dans MVC et a récemment commencé à développer un site de test en utilisant apis web, j'ai mon nom de contrôleur api CustomerController qui retourne IEnumerable liste simple des clients.WebApi Json Id ne pas retrouver où tous les autres champs montrent

quand je teste mon api en utilisant POSTMAN ses spectacles record, mais Id montre 0 (id = 0) ci-dessous est l'image de référence [Ids affichage 0] [1] [1]: https://i.stack.imgur.com/4MqUb.png

below is my api/controller 


     public class CustomersController : ApiController{ 
      private ApplicationDbContext _context; 

      public CustomersController(){ 
       _context = new ApplicationDbContext(); 
      } 

      //GET api/Customer 
      public IEnumerable<CustomerDto> GetCustomers(){ 
       return _context.Customer.ToList().Select(Mapper.Map<Customer,CustomerDto>); 
      } 

>CUstomer MODEL 

     public class Customer 
     { 
       public int id{ get; set; } 
       [Required(ErrorMessage = "Please enter your name")] 
       [StringLength(255)] 
       public string Name{ get; set; } 
       public bool IsSubscribeToNewsLetter{ get; set; } 
       public MembershipType MembershipType{ get; set; } 
       [Display(Name = "Membership Type")] 
       public byte MembershipTypeId{ get; set; } 
       [Display(Name = "Date of Birth")] 
       [Min18YearsIfMember] 
       public DateTime? BirthDate{ get; set; } 
     } 
    } 



>CUSTOMERDTO MODEL 


    public class CustomerDto 
     { 
      public int id { get; set; } 
      [Required(ErrorMessage = "Please enter your name")] 
      [StringLength(255)] 
      public string Name { get; set; } 
      public bool IsSubscribeToNewsLetter { get; set; } 
      public byte MembershipTypeId { get; set; } 
      //[Min18YearsIfMember] 
      public DateTime? BirthDate { get; set; } 
     } 
     <i/> 
+0

je suis désolé j'ai joint l'image de la liste des films, mais le même problème se produisant dans les clients trop même problème –

+0

Pouvez-vous montrer les modèles Customer et CustomerDto? Est-il possible automapper ne peut pas trouver la correspondance correcte pour Id? – amburt05

+0

@ amburt05 s'il vous plaît voir ma version éditée de la question, les noms des champs sont identiques à la fois dans DTO et dans le modèle –

Répondre

0

Enfin, je trouve la raison de question ci-dessus: la question était dans mon profil de cartographie dans lequel j'ai tracé comme celui-ci

Mapper.CreateMap<CustomerDto, Customer>().ForMember(c=>c.id, opt=> opt.Ignore()); 
    Mapper.CreateMap<Customer, CustomerDto>().ForMember(c => c.id, opt => opt.Ignore()); 

dans la cartographie ci-dessus, je l'ai ignoré le champ id en raison de cette mes ids montrait que 0 lorsque je modifie ma cartographie à son simple comme

Mapper.CreateMap<CustomerDto, Customer>(); 
    Mapper.CreateMap<Customer, CustomerDto>(); 

en faisant ci-dessus change mes identifications d'apis sur ma page Web. P.S comme je suis très débutant j'ai encore besoin de trouver l'impact des changements ci-dessus/