代码生成的思考:MyMeta提供数据库架构,反射、Emit提供构建的提供动态创建的环境
首先介绍几篇文章:
Emit对于熟悉反射的人来说它就是用来写入信息(程序),比如创建类、方法等等。
这里不得不说下,我对于 IL真的是很不爽,以前学汇编就是,尽管很努力了,但都停留在很概念的程度上,想要熟练是没有那个动力的。但是不要灰心,不会怕什么,咱可以这样,先用代码写,然后用idm来查看IL就可以了。虽然这是个方法,但是总归不爽不是,这里介绍一个Reflector的插件:ReflectionEmitLanguage。是不是太爽了,对了,第一次用的人可能找不到看它的地方,在添加了插件后在菜单上的语言选择的地方就可以看到了。
好了那么构造类的一切阻碍都扫平了,接下来进入代码架构。
熟悉多层架构的人对实体一定不陌生,这个让人极度郁闷的东西,太恶心了,呵呵,总是一个个不停的写,干脆用代码生成工具吧,总比自己写的差点,虽然实体里头没啥东西,但是跟实体相关的其它类等等都是问题。
还有就是跟数据库总是不同步(^_^需求经常更改),有了Emit这个利器后,就是数据库的问题了,MyMeta出场了,它的命名规则和架构太帮了,写起代码来虽然不太习惯,但是不得不承认非常非常的简洁。有它写起跟数据库有关的东西就太简单了啊哈。
最后就是对反射Emit简化Entity的一些问题,第三篇文章也非常的好,可以借鉴下。
Emit学习系列文章导航
使用 MyMeta 组件获取数据库结构来一点反射,再来一点Emit —— 极度简化Entity!
都是很好的东西啊,当然了思考这些的前提是对反射、程序集、域都有一定概念并有过一些尝试,否则就有点累了。Emit对于熟悉反射的人来说它就是用来写入信息(程序),比如创建类、方法等等。
这里不得不说下,我对于 IL真的是很不爽,以前学汇编就是,尽管很努力了,但都停留在很概念的程度上,想要熟练是没有那个动力的。但是不要灰心,不会怕什么,咱可以这样,先用代码写,然后用idm来查看IL就可以了。虽然这是个方法,但是总归不爽不是,这里介绍一个Reflector的插件:ReflectionEmitLanguage。是不是太爽了,对了,第一次用的人可能找不到看它的地方,在添加了插件后在菜单上的语言选择的地方就可以看到了。
好了那么构造类的一切阻碍都扫平了,接下来进入代码架构。
熟悉多层架构的人对实体一定不陌生,这个让人极度郁闷的东西,太恶心了,呵呵,总是一个个不停的写,干脆用代码生成工具吧,总比自己写的差点,虽然实体里头没啥东西,但是跟实体相关的其它类等等都是问题。
还有就是跟数据库总是不同步(^_^需求经常更改),有了Emit这个利器后,就是数据库的问题了,MyMeta出场了,它的命名规则和架构太帮了,写起代码来虽然不太习惯,但是不得不承认非常非常的简洁。有它写起跟数据库有关的东西就太简单了啊哈。
最后就是对反射Emit简化Entity的一些问题,第三篇文章也非常的好,可以借鉴下。
作者:today4king
出处:https://www.cnblogs.com/jinzhao/archive/2009/07/30/1535426.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2008-07-30 反编译工具 Lutz Roeder’s .NET Reflector