I've generated my Web Api Controller by scaffolding, I added WebApiConfig and Web Api works but returns bad data.
For example: I have some entities - Player with attributes ID name, surname etc. and PositionId, Position with attributes name and ID. If I want to access one position via normal PositionController it works very well but when I'm trying to get access to one position with web api It returns me all object that are connected with this one position.
E.g. I want to get one position with url api/PositionsAPI/1
It should return
{"PositionId":1,"name":"Defensive midfield"}
but it returns
{"Players":[{"Team":{"Players":[{"PlayerId":4,"Name":"Piotrek","Surname":"Kowalski","Nation":"Poland","PositionId":1,"TeamId":1}],"TeamId":1,"Name":"FC. Barcelona","City":"Barcelona","Founded":"1899-11-29T00:00:00"},"PlayerId":2,"Name":"Jan","Surname":"Kowalski","Nation":"Poland","PositionId":1,"TeamId":1},{"Team":{"Players":[{"PlayerId":2,"Name":"Jan","Surname":"Kowalski","Nation":"Poland","PositionId":1,"TeamId":1}],"TeamId":1,"Name":"FC. Barcelona","City":"Barcelona","Founded":"1899-11-29T00:00:00"},"PlayerId":4,"Name":"Piotrek","Surname":"Kowalski","Nation":"Poland","PositionId":1,"TeamId":1}],"PositionId":1,"name":"Defensive midfield"}
So you can see that it returns all players connected with this position. I don't have any idea why it is happening.
This is method from my web api controller that is responsible for api/PositionsAPI/1
[ResponseType(typeof(Position))]
public IHttpActionResult GetPosition(int id)
{
Position position = db.Positions.Find(id);
if (position == null)
{
return NotFound();
}
return Ok(position);
}