一、项目介绍
该项目内置单表linq操作,xml动态sql解析,词法分析,类型映射等功能。
SqlMapper,用来处理sql与数据库操作,它设计的目标是支持mysql,sqlserver,sqllite,pgsql等.
TypeMapper用于完成将数据库的字段类型映射到C#类型,内部定义了类型转换函数和转换规则.
TypeConvert用于完成数据库记录到C#类型的转换。通过IL动态创建IDataReader对象到C#实体类的转换函数和将C#对象解构成Key-value的函数.
ExpressionContext是一个轻量的词法分析器,用于将字符串表达式生成C#表达式,进而生成委托.
XmlResovle用于解析xml配置,如果你的项目仅需要xml动态解析功能你完全可以下载我的源码进行改进(它在github中开源),半自动意味着超高的性能
https://github.com/1448376744/SqlBatis
二 、词法分析器
该类型的实例是线程安全的,可复用的。它的设计及其简单,功能也很有限,但是对于我们的需求足够了. 它的实现逻辑如下: