当前位置: 首页 > news >正文

NET8 ORM 使用AOT SqlSugar

.NET AOT8 基本上能够免强使用了, SqlSugar ORM也支持了CRUD 能在AOT下运行了

Nuget安装

SqlSugarCore

具体代码

StaticConfig.EnableAot = true;//启用AOT 程序启动执行一次就好了//用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;

已支持功能

//查询
var list=db.Queryable<Student>().ToList();
var list2=db.Queryable<Student>().ToDataTable();
var list3= db.Queryable<Student>().Select(it=>new { id=it.Id
}).ToList();  //插入 、删除和更新只要是实体目前测试下来 都OK
db.Insertable(new Student()
{Id = 1,Name = "aa"
}).ExecuteCommand();
db.Deleteable(new Student()
{Id = 1,Name = "aa"
}).ExecuteCommand();
db.Updateable(new Student()
{Id = 1,Name = "aa"
}).ExecuteCommand();//写sql也支持  
db.Ado.GetDataTable(sql);
db.Ado.ExecuteCommand(sql);

不支功能

//部分库建表不支持
//动态建类不支持

AOT配置教程

创建一个带AOT的类项目

新建一个rd.xml

<Directives><Application><Assembly Name="SqlSugar"  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要能发布出去)

http://www.lryc.cn/news/234564.html

相关文章:

  • CCRC认证是什么?
  • linux内核面试题(2)
  • YOLOV5----修改损失函数-ShuffleAttention
  • Kafka(四)消费者消费消息
  • Python uiautomation获取微信内容!聊天记录、聊天列表、全都可获取
  • Java通过Lettuce访问Redis主从,哨兵,集群
  • 嵌入式数据库Sqlite
  • 计算机网络:网络层ARP协议
  • 集成环信IM时常见问题及解决——包括消息、群组、推送
  • Selenium自动化测试框架
  • C#实现观察者模式
  • 什么是持续部署
  • 【Python】Loguru模块更简洁的日志记录库
  • 智慧环保:科技驱动下的环境保护新篇章
  • CTF-PWN环境搭建手册
  • Nginx安装配置与SSL证书安装部署
  • 高性能面试八股文之编译流程程序调度
  • opencv的MinGW-W64编译
  • 在Go编程中调用外部命令的几种场景
  • python学习:break用法详解
  • 【算法萌新闯力扣】:找到所有数组中消失对数字
  • Node.js 安装配置
  • 前端JS 使用input完成文件上传操作,并对文件进行类型转换
  • 探索AI交互:Python与ChatGPT的完美结合!
  • CI/CD - jenkins
  • 【【萌新的SOC学习之 VDMA 彩条显示实验之一】】
  • 相机通用类之海康相机,软触发硬触发(飞拍),并输出halcon格式对象
  • linux时间调整
  • C++模版初阶
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​