【发布时间】:2020-03-26 23:37:02
【问题描述】:
我正在尝试创建一个 .NET Core Web Rest API 以将 Infopath 表单连接到它。 我的想法是从表单中捕获数据并将其存储到 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 和日期范围等。
有人能指引我正确的方向吗?
【问题讨论】:
-
使用 LINQ
.Where(...)子句而不是.Find()- 它允许您搜索基础数据库表的任何列
标签: .net sql-server api asp.net-core-mvc infopath