I'm trying to create a .NET Core Web Rest API to connect Infopath forms to it. The idea that I have is to to capture data from the form and store it to SQL Server, since I want to do some complex things besides just insert to table, I would like to use stored procedures. I would also like to query some information to the forms or/and some reports.
The questions is that I don't know if this is the right approach.
This is my test controller:
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using ct3PR.Models;
namespace ct3PR.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class BaseController : ControllerBase
{
private readonly baseContext _context;
public BaseController(baseContext context) => _context = context;
[HttpGet("{id}")]
public ActionResult<Base> GetBasesItem(int id)
{
var baseItem = _context.BaseItems.Find(id);
if(baseItem == null)
{
return NotFound();
}
return baseItem;
}
}
}
I already have a test database from which I can query:
var baseItem = _context.BaseItems.Find(id);
The problem is that I want to send parameters to the stored procedure, but Find only searches by primary key. I want to send a range of dates, a name, an id and a range of dates etc.
Could someone guide me in the right direction?
You could use FromSqlRaw in EF core to call stored procedure like this:
Action: