Build Provider 不得不说的事
之前有同学翻译了使用BuildProvider生成DAL的文章,又在网上搜索了一下,感觉这是个很有意思的功能,最近在做点东西用到这个,的确让我省了不少的事情。
其实Build Provider所做的工作是把一个文件的内容来控制生成IL代码,其实从本质上来说是一个IL代码生成器,置于你用CS,或者VB,那就是自己喜好的问题了,那么从另一个意义上来说,如果我们实现了一个语言到C#或者VB的转换,从理论上来说我们可以在ASP.NET中使用所有的语言,甚至包括我们自己发明的语言,这真的是一种很有意思的功能,不过很疑惑的是微软为什么不在Winform实现这个特征,不过现在ASP.NET的应用更加广泛,所以倒也无妨。最近做了个东西,是因为对Subsonic再开发的时候必须实时连接数据库感觉比较麻烦(很多时候再没有数据库的地方想改上几句就老报错,很烦),所以做了个解析SQL语句的类准备直接解析创建表和表间关系和主键、索引的SQL脚本来生成DAL(这些可以从SQLServer导出,点点鼠标很方便的),在做的过程中发现其实我就是把一些代码生成器的工作放在了Build Provider中,历史又再次倒流了。
Any Way,这个功能确实很有意思,希望能看到更多基于他的应用,欢迎多多讨论
其实Build Provider所做的工作是把一个文件的内容来控制生成IL代码,其实从本质上来说是一个IL代码生成器,置于你用CS,或者VB,那就是自己喜好的问题了,那么从另一个意义上来说,如果我们实现了一个语言到C#或者VB的转换,从理论上来说我们可以在ASP.NET中使用所有的语言,甚至包括我们自己发明的语言,这真的是一种很有意思的功能,不过很疑惑的是微软为什么不在Winform实现这个特征,不过现在ASP.NET的应用更加广泛,所以倒也无妨。最近做了个东西,是因为对Subsonic再开发的时候必须实时连接数据库感觉比较麻烦(很多时候再没有数据库的地方想改上几句就老报错,很烦),所以做了个解析SQL语句的类准备直接解析创建表和表间关系和主键、索引的SQL脚本来生成DAL(这些可以从SQLServer导出,点点鼠标很方便的),在做的过程中发现其实我就是把一些代码生成器的工作放在了Build Provider中,历史又再次倒流了。
Any Way,这个功能确实很有意思,希望能看到更多基于他的应用,欢迎多多讨论
分类:
随笔
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述