private CrmDbEntities db = new CrmDbEntities(); // GET: api/Dealings //получение списка сделок public WorkspaceData Get() { WorkspaceData workspaceData = new WorkspaceData(); ObservableCollection<IDealing> dealings = new ObservableCollection<IDealing>(); IEnumerable<DealingsStage> dealingsStages = new List<DealingsStage>(); ObservableCollection<Client> clients = new ObservableCollection<Client>(); var _dealings = db.Dealings; var _clients = db.Clients; dealingsStages = db.DealingsStages; //сколько сделок, столько и клиентов. На каждую сделку по клиенту foreach (var d in _dealings) { DealingData dealing = new DealingData(d); //IClient client = new Client(_clients.FirstOrDefault(c => c.ClientId == d.ClientId)); Client cl = _clients.FirstOrDefault(c => c.ClientId == d.ClientId); //Client client = new Client(); clients.Add(cl); dealings.Add(dealing); } workspaceData.DealingsStage = dealingsStages; workspaceData.DealingData = dealings; workspaceData.ClientData = clients; return workspaceData; } There is a controller inherited from ApiController, which returns data on request. I need to send multiple collections of data at once, which are packed in the WorkspaceData class.
public class WorkspaceData { public ObservableCollection<IDealing> DealingData { get; set; } public IEnumerable<IDealingsStage> DealingsStage { get; set; } public ObservableCollection<Client> ClientData { get; set; } } Monitoring responses lead through Fiddler. The server returns error 500. Why is a separate object not being transmitted? Although IEnumerable comes great at code 200.