模型化执行存储过程组件。
首先需要使用POCO类型定义存储过程参数和返回值类型。如:
```
///
/// 医疗救助结算费用明细表
///
public class Pro_JSFYMXB
{
///
/// 开始时间
///
public DateTime Sd { get; set; }
///
/// 解释时间
///
public DateTime Ed { get; set; }
///
/// 机构代码
///
public string Code { get; set; }
///
/// 查询标志 1门急诊 2住院 4实时 8事后
///
public int Flags { get; set; }
}
///
/// 医疗救助结算费用明细表 结果
///
public class Pro_JSFYMXB_Result
{
///
/// 序号
///
public long Xh { get; set; }
///
/// 社保卡号
///
public string Sbkh { get; set; }
///
/// 救助对象所在村居委
///
public string Cjw { get; set; }
///
/// 姓名
///
public string Xm { get; set; }
///
/// 身份证
///
public string Sfz { get; set; }
///
/// 性别
///
public string Xb { get; set; }
///
/// 救助类型
///
public string Jzlx { get; set; }
///
/// 就诊疾病
///
public string Jzjb { get; set; }
///
/// 收款人姓名
///
public string Skrxm { get; set; }
///
/// 银行卡号
///
public string Yhkh { get; set; }
///
/// 开户银行
///
public string Khyh { get; set; }
///
/// 总费用
///
public decimal Zfy { get; set; }
///
/// 医保统筹费用
///
public decimal Ybtcfy { get; set; }
///
/// 自费费用
///
public decimal Zfeify { get; set; }
///
/// 自负费用
///
public decimal Zfufy { get; set; }
///
/// 医保救助费用
///
public decimal Ybjzfy { get; set; }
}
```
然后可以通过以下两种方法执行存储过程:
1. 通过`IServiceCollection.UseFalconSP()`注册`IFalconSPRuner`接口。 然后通过RunSP方法执行存储过程。
2. 通过扩展Dbcontext:
已下扩展了自定义数据上下文`MzbkDbContext`并且实现了`Pro_JSFYMXB`方法执行存储过程。
```
///
/// 数据库存储过程定义
///
public static class MzbkDbSpExtend
{
///
/// 医疗救助结算费用明细表 存储过程
///
public static IEnumerable Pro_JSFYMXB(this MzbkDbContext db,Pro_JSFYMXB pram) {
return db.RunProcuder(pram);
}
}
```
然后在程序中可以如下执行存储过程:
```
using(var db = new MzbkDbContext(this.Config)) {
var list = db.Pro_JSFYMXB(new Pro_JSFYMXB {
Code = code,
Ed = ed.Value,
Sd = sd.Value,
Flags = flags.Value,
});
}
```