溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp.net?core實體類怎么生產CRUD后臺管理界面

發(fā)布時間:2022-05-20 09:10:17 來源:億速云 閱讀:137 作者:zzz 欄目:開發(fā)技術

今天小編給大家分享一下asp.net core實體類怎么生產CRUD后臺管理界面的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

演示功能

asp.net?core實體類怎么生產CRUD后臺管理界面

Domain 目錄下的文件是【實體類】

Program.cs 是 asp.net core 啟動代碼

using FreeSql;
using ojbk.Entities;
var fsql = new FreeSql.FreeSqlBuilder()
    .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=test.db;Pooling=true;Max Pool Size=10")
    .UseAutoSyncStructure(true)
    .UseNoneCommandParameter(true)
    .UseMonitorCommand(cmd => Console.WriteLine(cmd.CommandText + "\r\n"))
    .Build();
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllersWithViews();
builder.Services.AddSingleton(fsql);
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}
app.UseAuthorization();
app.MapControllers();
app.UseDefaultFiles();
app.UseStaticFiles();
/******************************* 以下是核心代碼 **************************/
app.UseFreeAdminLtePreview("/",
    typeof(Config),
    typeof(Role),
    typeof(Menu),
    typeof(User),
    typeof(Department),
    typeof(Employee),
    typeof(Position),
    typeof(AppLog),
    typeof(LoginLog),
    typeof(OprationLog),
    typeof(IdleScheduler.TaskInfo),
    typeof(IdleScheduler.TaskLog)
);
app.Run();

既然 ORM 已經(jīng)對實體進行了配置,利用已存在的條件便利的產生后臺管理功能,真是一大快事??!

它是 FreeSql 衍生出來的 .NETCore MVC 中間件擴展包 FreeSql.AdminLTE.dll,基于 AdminLTE 前端框架動態(tài)產生實體的增刪查改界面;

輸入:實體1、實體2、實體3

輸出:后臺管理的功能

只需要傳入實體,就可以生產 curd 的管理功能,是不是有些騷啊~~~

先發(fā)幾張運行后的圖片嘗個鮮:

asp.net?core實體類怎么生產CRUD后臺管理界面

asp.net?core實體類怎么生產CRUD后臺管理界面

這是根據(jù)實體產生 curd 界面的 mvc 中間件,開發(fā)時預覽或簡單管理數(shù)據(jù)好方便啊??赐觐A覽圖不由得再感嘆一次 FreeSql 的易用性,那句口號:做 .NETCore 最方便的 ORM! 沒有說錯。。。作者多次提及:“我們是簡約風格,沒那么復雜的用法”,也驗證了這一點。。

機制設定

1、添加、修改數(shù)據(jù)

中件間產生的界面包括添加、修改數(shù)據(jù)的功能,普通實體的根據(jù)屬性的類型與 Html5 UI 一一映射;

比較特殊的映射規(guī)則:

c# 類型Html5
布爾復選框
枚舉下拉選擇
日期日期控件
ManyToOne 導航屬性下拉選擇
ManyToMany 導航屬性多選器

等等。。。

什么情況會產生【上傳文件】控件?

有興趣的可以了解源碼,目前沒有開放在外部配置。

2、列表查詢、過濾篩選

中件間為每個實體提供了分頁列表查詢,每頁為20條數(shù)據(jù);

除此外,還提供了過濾條件的支持,規(guī)則是根據(jù)導航屬性(ManyToOne、ManyToMany)。比如【崗位】,內含有【部門 Department】、【員工 Employee】、【角色 Role】,則【崗位】列表頁會出現(xiàn)按【分類】篩選的UI,詳見上面的 demo 示意圖,或者下載 demo 運行;

3、刪除數(shù)據(jù)

中件間為每個實體提供了批量刪除的功能;

并且支持了復雜導航屬性關系的級聯(lián)刪除功能,而這個功能不依賴數(shù)據(jù)庫外鍵;

下載 Demo

我們一直習慣用 sqlite 做測試庫,測試完畢直接刪除目錄,不留垃圾數(shù)據(jù),所以下面的 demo 不需要修改任何地方,運行時自動建庫、建表;

運行環(huán)境:.net6.0

點擊下載

第一步:

dotnet restore

第二步:

dotnet run

asp.net?core實體類怎么生產CRUD后臺管理界面

將監(jiān)聽的地址復制,打開 chrome 瀏覽器粘貼訪問。

以上就是“asp.net core實體類怎么生產CRUD后臺管理界面”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI