AOT(Ahead of Time)编译适合于工具类型的项目,其优点在于禁止反编译,且首次启动速度快。然而,对于业务型项目或者反射使用频繁的项目来说,AOT并不适用。
AOT更新记录:经过实践的AOT ORM
5.1.4.117 +支持AOT
5.1.4.123 +支持CodeFirst和异步方法
5.1.4.129-preview12+ 修复 db.Unionall bug
5.1.4.129-preview17+ 修复 db.Union bug
5.1.4.135-preview05+ 修复查单列数据出错
5.1.4.140 修复 db.Storageable(data).WhereColumns(string [])重载引起的问题(导航更新也使用该方法)
5.1.4.141导航查询一对一查出来空
5.1.4.148 优化发布时的警告数据
SqlSugar AOT具有高性能和快速启动的优势,功能成熟,完全可以投入生产使用。
SqlServer | 支持(项目文件 InvariantGlobalization要改为false) |
MySql | 支持 |
Sqlite | 支持 |
PostgresSQL | 支持(安装最新的Npgsql) |
Oracle | 不支持(官方驱动不支持) |
其他 | 未测试 |
解压后直接布就可以发布成AOT文件了
newaot.rar (下载后更新一下SqlSugar)
使用AOT需要简单配置一下如下:
创建一个带AOT的类项目
新建一个rd.xml
改项目文件
RdXmlFile这个重点引用我们新建的rd.xml (这个xml要能发布出去)
SqlServer如果报下面配置相关的错要改成false
Sqlserver在web下的Demo AotTestServerWeb.zip
https://www.donet5.com/ask/9/23451
//用到dynamic参数的方法
AOT还有很多功能有限制,我个人认为用来开发小工具还可以,大点的项目暂时不要用,在反射上面有很多限制
.net API只支持了最基本的功能很多功能没有
.net MVC不支持