• .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优势

    高性能启动快,功能成熟完全可以投入生产

    image.png

    3、数据库支持

    SqlServer 支持 (项目文件 InvariantGlobalization要改为false)
    MySql 支持  
    Sqlite 支持
    PostgresSQL 支持  (安装最新的Npgsql)
    Oracle 不支持 (官方驱动不支持)
    其他 未测试

    4、Demo下载

    解压后直接布就可以发布成AOT文件了

    newaot.rar (下载后更新一下SqlSugar)

    image.png

     

    5、AOT教程

    使用AOT需要简单配置一下如下:

    5.1 安装Nuget

     SqlSugarCore

    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的类项目 

    image.png

    新建一个rd.xml

    
    	
    		
    		   
    		 
    		   
    	
    
    

      

    改项目文件

    复制代码
    "Microsoft.NET.Sdk.Web">
    
      
        net8.0
        enable
        enable
        true
        true
        AnyCPU;x64
      
     
         "rd.xml" />
     
    复制代码

     

    RdXmlFile这个重点引用我们新建的rd.xml (这个xml要能发布出去)

    SqlServer常见问题

    SqlServer如果报下面配置相关的错要改成false

     false

     

    Sqlserver在web下的Demo  AotTestServerWeb.zip  

    发布AOT

    image.png

     

     

    用户问题汇总

    https://www.donet5.com/ask/9/23451

    不支持功能

    //用到dynamic参数的方法

    注意说明

    AOT还有很多功能有限制,我个人认为用来开发小工具还可以,大点的项目暂时不要用,在反射上面有很多限制

    .net API只支持了最基本的功能很多功能没有

    .net MVC不支持

  • 相关阅读:
    c# 的一些简单用法
    寒假训练——第四周(筛法)
    DeepSceneSeg
    什么是Java伪随机数,基础打牢。 #程序员 #Java #编程
    css自学框架之幻灯片展示效果
    为什么不建议你用 MongoDB 这类产品替代时序数据库?
    【Spring系列】- 手写模拟Spring框架
    RAII技术学习
    412-C++中map自定义key和value排序
    基于VUE + Echarts 实现可视化数据大屏快递业务数据
  • 原文地址:https://www.cnblogs.com/sunkaixuan/p/18170061