国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

NET8 ORM 使用AOT SqlSugar 和 EF Core

這篇具有很好參考價值的文章主要介紹了NET8 ORM 使用AOT SqlSugar 和 EF Core。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

.NET AOT介紹

.Net8的本地預(yù)編機(jī)器碼NET AOT,它幾乎進(jìn)行了100%的自舉。微軟為了擺脫C++的鉗制,做了很多努力。也就是代碼幾乎是用C#重寫,包括了虛擬機(jī),GC,內(nèi)存模型等等。而需要C++做的,也就僅僅是引導(dǎo)程序,本篇通過代碼來看下這段至關(guān)重要的引導(dǎo)程序的運(yùn)作模式。

?

.NET支持功能

NET8 ORM 使用AOT SqlSugar 和  EF Core

?

SqlSugar ORM使用AOT操作數(shù)據(jù)庫

?SqlSugar已經(jīng)完美支持了.net aot,下面DEMO包含了 建表 、插入、查詢、刪除和更新

解壓后直接布就可以發(fā)布成AOT文件了

aot_test-master.rar

?

Nuget安裝

SqlSugarCore

  

增刪查改代碼

StaticConfig.EnableAot = true;//啟用AOT 程序啟動執(zhí)行一次就好了

//用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
// 在執(zhí)行前記錄 SQL 語句和參數(shù)
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();

//插入 、刪除和更新只要是實(shí)體目前測試下來 都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配置教程

創(chuàng)建一個帶AOT的類項(xiàng)目

?

NET8 ORM 使用AOT SqlSugar 和  EF Core

?

新建一個rd.xml

<Directives>
<Application>
<Assembly Name="SqlSugar" Dynamic="Required All">
</Assembly>
</Application>
</Directives>

改項(xiàng)目文件

<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這個重點(diǎn)引用我們新建的rd.xml (這個xml要能發(fā)布出去)
?

如何讓自已代碼支持AOT

1、不能有dynamic類型 可以用object替換

2、不能有emit可以用表達(dá)式樹代替換

3、一些反射找不到構(gòu)造函數(shù)或者Type需要配置xml?

4、反射不支持根據(jù)路徑加載程序集,可以從一個類的Type中拿出來

5、發(fā)布出現(xiàn)c++錯誤,需在安裝和更新VS的地方把 c++桌面 裝上

6、發(fā)布要選x64 不支持x86 和arm

?

SqlSugar ORM詳細(xì)教程

SqlSugar?是一款 老牌 .NET 開源多庫架構(gòu)ORM框架(EF Core單庫架構(gòu)),由果糖大數(shù)據(jù)科技團(tuán)隊(duì)

維護(hù)和更新 ,開箱即用最易上手的.NET ORM框架 。生態(tài)圈豐富,目前開源生態(tài)僅次于EF?Core,但是在需要

多庫兼容的項(xiàng)目或產(chǎn)品中更加偏愛SqlSugar?【開源生態(tài)】?【視頻教程】?

?aot_test-master.rar

?

EF Core8

暫時還沒有支持AOT文章來源地址http://www.zghlxwxcb.cn/news/detail-749086.html

到了這里,關(guān)于NET8 ORM 使用AOT SqlSugar 和 EF Core的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • .NET8 Blazor新特性 流式渲染

    .NET8 Blazor新特性 流式渲染

    什么是SSR Blazor中的流式渲染結(jié)合了SSR(服務(wù)端渲染),服務(wù)端將HTML拼好返回給前端,有點(diǎn)像我們熟知的Razor Pages 或 MVC 。 當(dāng)已經(jīng)有了 Razor Pages 或 MVC 時,為什么還要選擇使用 Blazor 來實(shí)現(xiàn)這一點(diǎn)?這里有幾個原因。 首先,Razor Pages 和 MVC 沒有像Blazor這樣提供了很好的可重用組

    2024年02月05日
    瀏覽(34)
  • .NET8依賴注入新特性Keyed services

    什么是Keyed service Keyed service是指,為一個需要注入的服務(wù)定義一個Key Name,并使用使用Key Name檢索依賴項(xiàng)注入 (DI) 服務(wù)的機(jī)制。 使用方法 通過調(diào)用 AddKeyedSingleton (或 AddKeyedScoped 或 AddKeyedTransient)來注冊服務(wù),與Key Name相關(guān)聯(lián)。或使用 [FromKeyedServices] 屬性指定密鑰來訪問已注冊

    2024年02月05日
    瀏覽(13)
  • .NET ORM 鑒別器 和 TDengine 使用 -SqlSugar

    SqlSugar 是一款 老牌 .NET 開源多庫架構(gòu)ORM框架 ,一套代碼能支持多種數(shù)據(jù)庫像Admin.net、Blog.Core、CoreShop等知名開源項(xiàng)目都采用了SqlSugar作為底層 在不用任何設(shè)計(jì)模式,任何框架的情況下都可以擁有最佳體驗(yàn),SqlSugar做到了保姆一樣的服務(wù),直接用不需要學(xué)習(xí) 的框架,各種默認(rèn)值

    2024年02月14日
    瀏覽(21)
  • .NET8 和 Vue.js 的前后端分離

    .NET8 和 Vue.js 的前后端分離

    在.NET 8中實(shí)現(xiàn)前后端分離主要涉及到兩個部分:后端API的開發(fā)和前端應(yīng)用的開發(fā)。后端API通常使用ASP.NET Core來構(gòu)建,而前端應(yīng)用則可以使用任何前端框架或技術(shù)棧,比如Vue.js、React或Angular等。下面是一個簡化的步驟指南,幫助你在.NET 8中實(shí)現(xiàn)前后端分離。 下面是一個簡單的示

    2024年04月10日
    瀏覽(21)
  • .Net8頂級技術(shù):邊界檢查之IR解析(二)

    .Net8頂級技術(shù):邊界檢查之IR解析(二)

    IR技術(shù)應(yīng)用在各個編程語言當(dāng)中,它屬于JIT的核心部分,確實(shí)有點(diǎn)點(diǎn)麻煩。但部分基本明了。本篇通過.Net8里面的邊界檢查的小例子了解下。前情提要,看這一篇之前建議看看前一篇:點(diǎn)擊此處,以便于理解。 1.前奏 先上C#代碼: Test函數(shù)經(jīng)過Roslyn編譯成IL代碼之后,會被JIT導(dǎo)

    2024年02月06日
    瀏覽(22)
  • .NET8 Blazor的Auto渲染模式的初體驗(yàn)

    .NET8 Blazor的Auto渲染模式的初體驗(yàn)

    .NET8發(fā)布后,Blazor支持四種渲染方式 靜態(tài)渲染,這種頁面只可顯示,不提供交互,可用于網(wǎng)頁內(nèi)容展示 使用Blazor Server托管的通過Server交互方式 使用WebAssembly托管的在瀏覽器端交互方式 使用Auto自動交互方式,最初使用 Blazor Server,并在隨后訪問時使用 WebAssembly 自動進(jìn)行交互式

    2024年02月05日
    瀏覽(26)
  • U8二次開發(fā)CO-基于Net8調(diào)用COM對象

    以前沒有碰過U8,只知道基于Net平臺構(gòu)建,本次業(yè)務(wù)需求是要把釘釘和U8打通,完成代辦和消息提醒。網(wǎng)上搜索U8相關(guān)二開資料后發(fā)現(xiàn),都是一些技術(shù)片段,零零碎碎的不成體系,也有可能是大客戶都去U9或者Cloud了,老舊的8面臨過氣與替換(個人意見),遂邊琢磨邊做一些示

    2024年04月14日
    瀏覽(38)
  • Blazor OIDC 單點(diǎn)登錄授權(quán)實(shí)例5 - 獨(dú)立SSR App (net8 webapp ) 端授權(quán)

    Blazor OIDC 單點(diǎn)登錄授權(quán)實(shí)例5 - 獨(dú)立SSR App (net8 webapp ) 端授權(quán)

    目錄: OpenID 與 OAuth2 基礎(chǔ)知識 Blazor wasm Google 登錄 Blazor wasm Gitee 碼云登錄 Blazor OIDC 單點(diǎn)登錄授權(quán)實(shí)例1-建立和配置IDS身份驗(yàn)證服務(wù) Blazor OIDC 單點(diǎn)登錄授權(quán)實(shí)例2-登錄信息組件wasm Blazor OIDC 單點(diǎn)登錄授權(quán)實(shí)例3-服務(wù)端管理組件 Blazor OIDC 單點(diǎn)登錄授權(quán)實(shí)例4 - 部署服務(wù)端/獨(dú)立WASM端授

    2024年02月19日
    瀏覽(35)
  • 開源.NET8.0小項(xiàng)目偽微服務(wù)框架(分布式、EFCore、Redis、RabbitMQ、Mysql等)

    開源.NET8.0小項(xiàng)目偽微服務(wù)框架(分布式、EFCore、Redis、RabbitMQ、Mysql等)

    為什么說是偽微服務(wù)框架,常見微服務(wù)框架可能還包括服務(wù)容錯、服務(wù)間的通信、服務(wù)追蹤和監(jiān)控、服務(wù)注冊和發(fā)現(xiàn)等等,而我這里為了在使用中的更簡單,將很多東西進(jìn)行了簡化或者省略了。 年前到現(xiàn)在在開發(fā)一個新的小項(xiàng)目,剛好項(xiàng)目最初的很多功能是比較通用的,所以

    2024年03月09日
    瀏覽(21)
  • [C#] .NET8增加了Arm架構(gòu)的多寄存器的查表函數(shù)(VectorTableLookup/VectorTableLookupExtension)

    作者: zyl910 發(fā)現(xiàn).NET8增加了Arm架構(gòu)的多寄存器的查表函數(shù)(VectorTableLookup/VectorTableLookupExtension),這給編寫SIMD向量化算法帶來了方便。 在學(xué)習(xí)Arm的AdvSimd(Neon)指令集時,發(fā)現(xiàn)它的Lookup(查表)功能,類似X86的Sse系列指令集中的字節(jié)Shuffle(換位。如 _mm_shuffle_epi8 )功能。 而

    2024年03月24日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包