Ciao a tutti!!!
chiedo il vostro aiuto per chiarirmi un pò le idee.
Ho la classe User che oltre ad avere le informazioni basilari ha anche la classe Role che non è altro che la tipologia di utente

codice:
public class CreateUser
    {
        public string Name { get; set; }
        public string Surname { get; set; }
        public string Email { get; set; }
        public string Password { get; set; }
        public Role Role { get; set; }
        public int RoleSelectedId { get; set; }



    }

public class Role
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
nel controller in post vorrei mandare il model alla webapi ovviamente già compilato

codice:
        [HttpPost]
        public async Task<ActionResult> CreateUser(CreateUser item)
        {
            item.RoleSelected = new Role() { Id = item.RoleSelectedId };


            var address = "http://localhost:53285/api/users/PostUser";
            var stringContent = new StringContent(JsonConvert.SerializeObject(item), Encoding.UTF8, "application/json");


            using (var client = new HttpClient())
            {
                HttpResponseMessage response = await client.PostAsync(address, stringContent);
                response.EnsureSuccessStatusCode();


                string resultContent = response.Content.ReadAsStringAsync().Result;
               
            }
}
...e il controller delle webapi è il seguente

codice:
        // POST: api/Users
        [ResponseType(typeof(User))]
        public async Task<IHttpActionResult> PostUser(User user)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }


            db.Users.Add(user);
            await db.SaveChangesAsync();


            return CreatedAtRoute("DefaultApi", new { id = user.Id }, user);
        }
Il problema è che quando vado a vedere se le proprietà della classe User sono compilate la classe Role è nulla...

Sapete quale sia il problema?

Grazie dell'aiuto