动态表 动态查询

本文介绍了如何在C#中使用动态表和动态查询以应对频繁变动的客户需求。动态表允许通过配置来减少代码修改,适用于表结构变化不大但需求频繁更新的情况。动态查询则解决了多样化查询需求,提高了查询的灵活性。文章通过实例展示了动态表的创建和动态查询的两种实现方式,包括旧有的SQL拼接和新的参数化查询方法。
摘要由CSDN通过智能技术生成

@Tomato

动态表 动态查询

介紹

动态表

1、说明

动态表:
大多数情况下我们的表结构都是固定的,但是当客户逻辑变更频繁且数据结构并不复杂的情况下,我们可以通过动态配置表来减少代码量和版本迭代次数



2、使用范围

举个栗子:

  1. 老师的项目表新增频繁 ( 导致每次都需要重新写一套表的增删改查)
  2. 但是功能大同小异(只是给不同的表打分,也只会有2张表的连接)
    在这里插入图片描述
    在这里插入图片描述



3、简单实现
  1. 新增项目表(主要是表名称、表code,其他关联表id、所属权限组、表权限、排序、表提示字段等可以不加)
    在这里插入图片描述
  2. 新增项目字段表(主要是列名称、列类型,其他备注、是否主键、列提示字段等可以不加)
    在这里插入图片描述
  3. 实现逻辑
    1. 新建model表接口 == 新建数据库表(新建数据表时可以固定生成ID、IsDelete等字段)
    2. 新建model子表modelDetail接口 == 新建数据库表里面的字段(拼接sql alter 表字段时先判断主表对应的数据库表是否存在)
      在这里插入图片描述
  4. 测试代码
/// <summary>
/// 查询动态连接表分页
/// </summary>
[TestMethod]
public void ListPageDynamicJoinModelList_Test()
{
   
    // 新增表
    ModelInputModel inputMaster = new ModelInputModel()
    {
   
        ModelCode = "tb_test",
        ModelName = "测试表"
    };
    BaseResultModel<ModelOutputModel> resultMaster = this.ModelService.ModifyModel(inputMaster);
    Assert.IsTrue(resultMaster
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值