Я пытаюсь получить данные из БД, размещая свой контроллер OData на своем локальном IIS.Тем не менее, я получаю localhost не может обработать этот запрос.Ошибка HTTP 500.Я попробовал жесткие значения в моем контроллере, и это работает нормально, но не через БДЧерез VS 2017 IIS Express данные приходят нормально.Следовательно, подключение к БД в порядке.Важно знать, что ни один из контроллеров не работает, если они получают данные из БД, поэтому эта проблема больше связана с некоторыми настройками IIS, которые блокируют соединение с БД.
Пожалуйста, помогите мне в исправленииэта проблема, при которой я не могу получить данные из БД.Ниже приведен фрагмент кода моего контроллера инструментов:
public class InstrumentsController : ODataController
{
private tdpcontext db = new tdpcontext();
[HttpGet]
[EnableQuery]
public IQueryable<Instruments> Get()
{
var db = new tdpcontext();
IQueryable<Instruments> result = db.Instruments.AsQueryable();
return result;
}
// POST: odata/Test
public IActionResult Post([FromBody] Instruments Instrument)
{
HttpContext.GetType();
if (!ModelState.IsValid)
{
return BadRequest(Instrument);
}
db.Instruments.Add(Instrument);
db.SaveChanges();
return Created(Instrument);
}
// PATCH: odata/Test(5)
[AcceptVerbs("PATCH", "MERGE")]
public IActionResult Patch([FromODataUri] string key, Delta<Instruments> patch)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
Instruments Instruments = db.Instruments.Find(key);
if (Instruments == null)
{
return NotFound();
}
patch.Patch(Instruments);
try
{
db.SaveChanges();
}
catch (Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException)
{
if (true)
{
return NotFound();
}
else
{
throw;
}
}
return Updated(Instruments);
}
public IActionResult Put([FromBody] Instruments Instrument)
{
if (!ModelState.IsValid)
{
return BadRequest(Instrument);
}
//db.Instruments.Add(Instrument);
//db.SaveChanges();
return Created(Instrument);
}
public IActionResult Delete(string key , Instruments Instrument)
{
Instruments ObjInstrument = db.Instruments.Find(Instrument);
if (ObjInstrument == null)
{
return NotFound();
}
db.Instruments.Remove(ObjInstrument);
db.SaveChanges();
return Updated(Instrument);
}
[HttpPost]
[Route ("odata/Instruments/DeleteData")]
public IActionResult Delete([FromBody] Instruments Instrument)
{
return BadRequest(Instrument);
}