.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上风
高性能启动快,功能成熟完全可以投入生产
https://www.donet5.com/_theme/ueditor/utf8-net/net/upload/image/20231121/6383613961722934373783170.png
3、数据库支持
SqlServer支持 (项目文件 InvariantGlobalization要改为false)MySql支持 Sqlite支持PostgresSQL支持 (安装最新的Npgsql)Oracle不支持 (官方驱动不支持)其他未测试4、Demo下载
解压后直接布就可以发布成AOT文件了
https://www.donet5.com/_theme/ueditor/utf8-net/dialogs/attachment/fileTypeImages/icon_rar.gifnewaot.rar (下载后更新一下SqlSugar)
https://www.donet5.com/_theme/ueditor/utf8-net/net/upload/image/20231121/6383613961722934373783170.png
5、AOT教程
利用AOT必要简单配置一下如下:
5.1 安装Nuget
SqlSugarCore5.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的类项目
https://www.donet5.com/_theme/ueditor/utf8-net/net/upload/image/20231116/6383577153307211144186627.png
新建一个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 https://www.donet5.com/_theme/ueditor/utf8-net/dialogs/attachment/fileTypeImages/icon_rar.gifAotTestServerWeb.zip
发布AOT
https://www.donet5.com/_theme/ueditor/utf8-net/net/upload/image/20231121/6383617541793169364152376.png
用户题目汇总
https://www.donet5.com/ask/9/23451
不支持功能
//用到dynamic参数的方法注意说明
AOT还有很多功能有限制,我个人认为用来开发小工具还可以,大点的项目暂时不要用,在反射上面有很多限制
.net API只支持了最基本的功能很多功能没有
.net MVC不支持
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]