.NET CORE 完美支持AOT 的 ORM SqlSugar 教程 1、AOT适合场景Aot适合工具类型的项目使用,优点禁止反编 ,第一次启动快,业务型项目或者反射多的项目不适合用AOT AOT更新记录: 实实在在经过实践的AOT ORM5.1.4.117 +支持AOT5.1.4.123 +支持CodeFirst和异步方法5.1.4.129-preview12+ 修复 db.Unionall bug5.1.4.129-preview17+ 修复 db.Union bug5.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 SqlSugarCore5.2 启用AOT和创建DB123456789101112131415161718192021//启用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.xml12345678<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不支持功能1//用到dynamic参数的方法注意说明AOT还有很多功能有限制,我个人认为用来开发小工具还可以,大点的项目暂时不要用,在反射上面有很多限制.net API只支持了最基本的功能很多功能没有.net MVC不支持


bxqmoh6v
1 声望0 粉丝