动态表 动态查询
介紹
动态表
1、说明
动态表:
大多数情况下我们的表结构都是固定的,但是当客户逻辑变更频繁且数据结构并不复杂的情况下,我们可以通过动态配置表来减少代码量和版本迭代次数
2、使用范围
举个栗子:
- 老师的项目表新增频繁 ( 导致每次都需要重新写一套表的增删改查)
- 但是功能大同小异(只是给不同的表打分,也只会有2张表的连接)
3、简单实现
- 新增项目表(主要是表名称、表code,其他关联表id、所属权限组、表权限、排序、表提示字段等可以不加)
- 新增项目字段表(主要是列名称、列类型,其他备注、是否主键、列提示字段等可以不加)
- 实现逻辑
- 新建model表接口 == 新建数据库表(新建数据表时可以固定生成ID、IsDelete等字段)
- 新建model子表modelDetail接口 == 新建数据库表里面的字段(拼接sql alter 表字段时先判断主表对应的数据库表是否存在)
- 测试代码
/// <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