// sql方式
_testRepository.FromSql("select name from test where id=@id"
, new SqlParameter[]{ new SqlParameter("@id", 1) });
// 执行存储过程
_testRepository.SqlProcedureQuery("PROC_Name", new ProcModel(){});
// 执行函数
_testRepository.SqlFunctionQuery("Func_Name", new FuncModel(){});
using Hoa.Application;
using Hoa.DbManager.Tangents;
using Microsoft.AspNetCore.Mvc;
namespace Hoa.Web.Host.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class HoaController : ControllerBase
{
// 构造函数初始化
private readonly IFallScatteredQuery _tangent;
public HoaController(ITangentDbContext tangentDbContext)
{
// 解析接口信息
_tangent = tangentDbContext.For<IFallScatteredQuery>();
}
[HttpGet]
[Route(nameof(Test))]
public string Test()
{
// 执行sql
var name = _tangent.GetName(1); // 自动查询数据库
// 执行存储过程
var tests = _tangent.GetProcResult(new { name = "Monk" });
// 执行函数
var num = _tangent.GetFuncReuslt(new { id = 10});
return "Powered by Monk";
}
}
}
using Hoa.DbManager.Tangents;
using System.Collections.Generic;
using System.Data;
namespace Hoa.Application
{
public interface IFallScatteredQuery : ITangentDependency
{
[Sentence(@"
select * from dbo.brokers;
select * from dbo.brokers where id > @id;
select * from dbo.brokers where name = @name
")]
DataSet GetDataSet(int id, string name);
[Sentence(@"
select top 2 * from dbo.brokers;
select * from dbo.brokers where id > @id;
select * from dbo.brokers where name = @name
")]
(IEnumerable<Broker> brokers1, IEnumerable<Broker> brokers2, IEnumerable<Broker> brokers3) GetValueTuple(int id, string name);
}
}
var dataset = _tangent.GetDataSet(1, "Monk2");
var (broker1, borker2, borker3) = _tangent.GetValueTuple(0, "Monk");