.NET CORE 完美支持AOT 的 ORM SqlSugar 教程
|
1、AOT适合场景
Aot适合工具类型的项目使用,优点禁止反编 ,第一次启动快,业务型项目或者反射多的项目不适合用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 优化发布时的警告数据
2、SqlSugar AOT优势
高性能启动快,功能成熟完全可以投入生产
3、数据库支持
SqlServer | 支持 (项目文件 InvariantGlobalization要改为false) | MySql | 支持 | Sqlite | 支持 | PostgresSQL | 支持 (安装最新的Npgsql) | Oracle | 不支持 (官方驱动不支持) | 其他 | 未测试 | 4、Demo下载
解压后直接布就可以发布成AOT文件了
newaot.rar (下载后更新一下SqlSugar)
5、AOT教程
使用AOT需要简单配置一下如下:
5.1 安装Nuget
5.2 启用AOT和创建DB
- //启用AOT 程序启动执行一次就好了
- StaticConfig.EnableAot = true;
-
- //用SqlSugarClient每次都new,不要用单例模式
- var db = new SqlSugarClient(new ConnectionConfig()
- {
- IsAutoCloseConnection = true,
- DbType = DbType.Sqlite,
- ConnectionString = "datasource=demo.db"
-
- },
- it =>
- {
- // Logging SQL statements and parameters before execution
- // 在执行前记录 SQL 语句和参数
- it.Aop.OnLogExecuting = (sql, para) =>
- {
- Console.WriteLine(UtilMethods.GetNativeSql(sql, para));
- };
- });
- return db;
复制代码
5.3 AOT 配置教程
创建一个带AOT的类项目
新建一个rd.xml- <Directives>
- <Application>
- <Assembly Name="SqlSugar" Dynamic="Required All">
- </Assembly>
- <Assembly Name="启动项目名" Dynamic="Required All">
- </Assembly>
- </Application>
- </Directives>
复制代码
改项目文件- <Project Sdk="Microsoft.NET.Sdk.Web">
- <PropertyGroup>
- <TargetFramework>net8.0</TargetFramework>
- <Nullable>enable</Nullable>
- <ImplicitUsings>enable</ImplicitUsings>
- <InvariantGlobalization>true</InvariantGlobalization>
- <PublishAot>true</PublishAot>
- <Platforms>AnyCPU;x64</Platforms>
- </PropertyGroup>
- <ItemGroup>
- <RdXmlFile Include="rd.xml" />
- </ItemGroup>
复制代码
RdXmlFile这个重点引用我们新建的rd.xml (这个xml要能发布出去)
SqlServer常见问题
SqlServer如果报下面配置相关的错要改成false- <InvariantGlobalization>false</InvariantGlobalization>
复制代码
Sqlserver在web下的Demo AotTestServerWeb.zip
发布AOT
用户问题汇总
https://www.donet5.com/ask/9/23451
不支持功能
注意说明
AOT还有很多功能有限制,我个人认为用来开发小工具还可以,大点的项目暂时不要用,在反射上面有很多限制
.net API只支持了最基本的功能很多功能没有
.net MVC不支持
来源:https://www.cnblogs.com/sunkaixuan/p/18170061
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|
|
|
发表于 2024-5-2 15:17:53
举报
回复
分享
|
|
|
|