>source

Infopath 양식을 연결하기 위해 .NET Core Web Rest API를 만들려고합니다. 내가 가진 아이디어는 양식에서 데이터를 캡처하여 SQL Server에 저장하는 것입니다. 테이블에 삽입하는 것 외에도 복잡한 작업을 수행하고 싶기 때문에 저장 프로 시저를 사용하고 싶습니다. 또한 양식 또는/및 일부 보고서에 대한 일부 정보를 쿼리하고 싶습니다.

질문은 이것이 올바른 접근 방식인지 모르겠다는 것입니다.

이것은 내 테스트 컨트롤러입니다.

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;
        }
    }
}

쿼리 할 수있는 테스트 데이터베이스가 이미 있습니다.

var baseItem = _context.BaseItems.Find(id);

문제는 저장 프로 시저에 매개 변수를 보내고 싶지만 Find 기본 키로 만 검색합니다. 날짜 범위, 이름, ID 및 날짜 범위 등을 보내고 싶습니다.

누군가 나를 올바른 방향으로 인도 할 수 있습니까?

  • 답변 # 1

    EF 코어에서 FromSqlRaw를 사용하여 다음과 같은 저장 프로 시저를 호출 할 수 있습니다.

    CREATE PROCEDURE [dbo].[GetBaseItems]
    @id int = 0,
    @name varchar(50)
    
    

    동작:

    var baseItem = _context.BaseItems.FromSqlRaw("Execute dbo.GetBaseItems @id = {0} ,@name = {1}", id, "itemName");
    
    

관련 자료

  • 이전 PHP의 다차원 배열에 새 키 및 값 필드를 추가하는 방법은 무엇입니까?
  • 다음 r - Gather가있는 Shiny의 반응 형 막대 차트