首先看一下CYQ.Data 经典的使用手法:
using(MAction action=new MAction(表名))
{
action.Select(where).Bind(列表控件);
}
CYQ.Data 在很多地方是直接使用原生的sql语法的,示例如:
1:where条件:如:action.Select("ID>1 or UserName='cyqdata'")
每个传入的where条件,都会经过一个高强度的sql防注入函数,过滤特殊字符或函数,因此安全级别是很高的。
2:多表查询:
new MAction(" (select a.name,b.* from a,b) newtablename");
有小部分人士,似乎不怎么喜欢原生的sql语法,于是V5就简单的扩展了一下,来让这小部分人士去构建自己的语法。
比如我们需要新的语法如下:
1:对于where条件:
action.Select(User.ID>1 & User.UserName=="cyqdata");
2:对于构造表视图:
new MAction(T.Skin.LeftJoin(T.User).On(Skin.UserID==User.ID));
原理分析:
对于新的语法糖,没有编绎器的支持,我们只能借助于重载一些运行符号或方法来实现这些。
比如:
重载
版权声明:程序员胖胖胖虎阿 发表于 2022年10月27日 上午9:40。
转载请注明:CYQ.Data 数据框架 V5 的语法糖 外置开源原理解析 [类似lambda表达式] | 胖虎的工具箱-编程导航
转载请注明:CYQ.Data 数据框架 V5 的语法糖 外置开源原理解析 [类似lambda表达式] | 胖虎的工具箱-编程导航
相关文章
暂无评论...