代码生成器的ModelImportVM是内部无方法实现的,WTM自动实现导入。

public class QuestionImportVM : BaseImportVM<QuestionTemplateVM, Question>
    {
        
    }

这样子很多小伙伴就懵逼了,需要修改数据怎么做呢?

看源码,发现实现WTM实现Excel导入,主要流程是获取上传数据TemplateData,再SetEntityList()进行数据转化,最后调用BatchSaveData()执行导入。

public virtual bool BatchSaveData

BatchSaveData()为virtual虚方法,那么我们要修改数据,只需要重写BatchSaveData()方法,手动SetEntityList()转化数据到EntityList中,就可获取想要的数据并修改。 

public override bool BatchSaveData()
        {
            SetEntityList();
            foreach (var item in EntityList)
            {
                if (item.QuestionTypeEnum== QuestionTypeEnum.单选)
                {
                    item.OptionC = "测试";
                }
            }
            return base.BatchSaveData();
        }

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐