Я действительно не могу понять, что я здесь упустил.
Это код, который я рефакторинг от GET к POST по просьбе другой стороны разработки проекта.
using VirtualAssistant.Models;
using VirtualAssistant.DataModel;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Data;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Web.Http.Description;
using System.Collections;
namespace LloydsVirtualAssistant.Controllers
{
public class FetchController : ApiController
{
public class PersonList
{
public int ClientID { get; set; }
public int PersonId { get; set; }
public string FullName { get; set; }
public string EmailAddress { get; set; }
public string BusinessNumber { get; set; }
public string MobileNumber { get; set; }
public int LocationId { get; set; }
public int BuidlingId { get; set; }
public string LocationAddress { get; set; }
public string PostCode { get; set; }
public string BranchSortCode { get; set; }
public string AreaName { get; set; }
}
// GET: ChatAi/Person/5
[Route("FetchPerson")]
public HttpResponseMessage POST([FromBody] PersonList PersonId)
{
List<PersonList> results = new List<PersonList>();
var result = new FetchDataContext().usp_FetchPerson_GetById(PersonId).ToList();
foreach (var item in result.ToList())
{
results.Add(new PersonList
{
ClientID = (int)item.ClientID,
PersonId = (int)item.PersonId,
FullName = item.FullName,
EmailAddress = item.EmailAddress,
BusinessNumber = item.BusinessPhone,
MobileNumber = item.MobileNumber,
LocationId = (int)item.LocationId,
BuidlingId = (int)item.BuildingId,
LocationAddress = item.LocationAddress,
PostCode = item.PostCode,
BranchSortCode = item.BranchSortCode,
AreaName = item.AreaName
});
}
{
return results;
}
}
}
}
Ошибка читается
Серьезность
Код Описание Ошибка состояния подавления строки файла проекта CS1061 'object' не содержит определения для 'ToList', и не может быть > найден метод расширения 'ToList', принимающий первый аргумент типа 'object' (вы пропустили? директива using или ссылка на сборку?) > VirtualAssistant.....
Первоначально это работало как GET, но команда хочет POST. Моя попытка рефакторинга провалилась. Я, конечно, продолжу искать, интересно, сможет ли кто-нибудь из вас, профессионалы, заметить мою ошибку? Это мой первый веб-API — ну, если не считать GET, который работал. Моя область знаний — SQL, я просто изучаю ASP.NET (и люблю его)
Заранее большое спасибо, что заглянули.
usp_FetchPerson_GetById(PersonId)
, посколькуPersonId
имеет типPersonList
(см. ваши входящие параметры). - person Igor   schedule 06.04.2018new FetchDataContext
- плохая идея, поскольку вы не удаляете контекст данных. Это означает, что ваши подключения к данным могут оставаться открытыми до тех пор, пока контекст в конечном итоге не будет удален сборщиком мусора CLR, который не является детерминированным. - person Igor   schedule 06.04.2018