Я пытаюсь вызвать скалярную функцию, которая есть в моей базе данных, из моего .NET Core 2.1 Web API, чтобы получить директора сотрудника;функция в моей базе данных ожидает идентификатор сотрудника в качестве ввода и возвращает идентификатор директора.Работает просто отлично и называется dbo.fn_GetDirectorID
.
Я хотел создать конечную точку в своем веб-API для вызова этой функции, получить directorID
и затем отправить объект сотрудника этого директора моему клиенту.Итак, я искал онлайн-ресурсы, и я наткнулся на этот Я был похож на вау, это возможно, так что давайте попробуем это, поэтому я следовал их руководству. Теперь у меня есть функция базы данных GetDirectorID
в моем контексте, как ссылка, описанная
[DbFunction("fn_GetDirectorID", "dbo")]
public static int GetDirectorID(int id)
{
throw new NotImplementedException();
}
Тогда в моем контроллере я собирался сделать что-то вроде этого
[HttpGet("GetDirector/{id}")]
public async Task<IActionResult> GetDirector([FromRoute] int id)
{
var directorID = KPContext.GetDirectorID(id);
var director = await _context.Employees.FindAsync(directorID);
if (director == null)
{
return NotFound();
}
return Ok(director);
}
, но когда я вызываю, я выкидываю ошибку, потому что я получаю новый бросок NotIMplementedException
,но я не уверен, что делать здесь, потому что в учебнике говорится, что это должно вызывать вашу функцию и работать.Также я сделал
int directorID = KPContext.GetDirectorID(id)
Может кто-нибудь помочь?Я был бы очень признателен.
Я тоже только что попробовал это
[HttpGet("GetDirector/{id}")]
public async Task<IActionResult> GetDirector([FromRoute] int id)
{
var director = await _context.Employees.FindAsync(KPContext.GetDirectorID(id));
if (director == null )
{
return NotFound();
}
return Ok(director);
}