欧美深夜视频_国产精品99视频_国产精品网站一区_亚洲最大av网

bh002- Blazor hybrid / Maui 使用ORM和數據庫快速教程

2024-8-22 09:58| 發(fā)布者: 周三三| 查看: 377| 評論: 0

接上篇bh002- Blazor hybrid / Maui 保存設置快速教程

源碼 BlazorHybrid/bh100days/bh002_ORM at master · densen2014/BlazorHybrid · GitHub

10. 添加引用

Index.razor.cs
添加引用
using FreeSql.DataAnnotations;#if WINDOWSusing Windows.Storage;#endif 11. 簡單使用freesql ORM 初始化數據,添加數據

public partial class Index{    [DisplayName("用戶名")]    [Required(ErrorMessage = "請輸入用戶名")]    public string NewUsername { get; set; }    List<Users> UserList { get; set; }    string Dbpath { get; set; }    protected override async Task OnAfterRenderAsync(bool firstRender)    {        if (firstRender)            {                StateHasChanged();            }            //添加這句            await OrmTestAsync();        }    }    async Task OrmTestAsync()    {#if WINDOWS        string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "hybrid.db");#elif ANDROID || IOS || MACCATALYST        string dbpath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "hybrid.db");#else        string dbpath = "hybrid.db";#endif         Fsql = new FreeSql.FreeSqlBuilder()             .UseConnectionString(FreeSql.DataType.Sqlite, $"Data Source={dbpath};")             //調試sql語句輸出             .UseMonitorCommand(cmd => System.Console.WriteLine(cmd.CommandText + Environment.NewLine))             //自動同步實體結構到數據庫,FreeSql不會掃描程序集,只有CRUD時才會生成表。             .UseAutoSyncStructure(true)            .UseNoneCommandParameter(true)            .Build();        if (Fsql.Select<Users>().Count() < 1)        {            var itemList = Users.GenerateDatas();            Fsql.Insert<Users>().AppendData(itemList).ExecuteAffrows();        }        UserList= await Fsql.Select<Users>().ToListAsync();        Dbpath = dbpath;        StateHasChanged();    }    async Task Add()    {        Fsql.Insert(new Users() { Username = NewUsername , FullName = "試用用戶"}).ExecuteAffrows();        UserList = await Fsql.Select<Users>().ToListAsync();        StateHasChanged();    }}12. 用戶表實體類

源碼工程為了簡單起見,都暫時放在同一個文件里面.
/// <summary>/// 用戶表/// </summary>public class Users{    [Column(IsIdentity = true, IsPrimary = true)]    [DisplayName("序號")]    public Guid UserID { get; set; }    //[Column(IsPrimary = true)]    [DisplayName("用戶名")]    [Required]    public string Username { get; set; }    [DisplayName("真實姓名")]    [Required]    public string FullName { get; set; }    [DisplayName("啟用")]    public bool? Enable { get; set; } = false;    public static List<Users> GenerateDatas()    {        var ItemList = new List<Users>()        {            new Users {                Username = "root" ,                FullName="超級用戶",                Enable =false                },            new Users {                Username = "admin" ,                FullName="管理員",                Enable =true                },            new Users {                Username = "guest" ,                FullName="游客",                Enable =false                },            new Users {                Username = "user" ,                FullName="正式用戶",                Enable =true                },        };        return ItemList;    }}13. 列表數據

Index.razor
<hr />添加用戶:<InputText @bind-Value="NewUsername" /><button @onclick="Add">添加</button>@if (UserList != null){    @foreach (var item in UserList)    {        <p><b>@item.FullName</b> <h5>@item.Username</h5></p>    }}Dbpath: @Dbpath14. 運行效果




15. 相關資料

如何遠程調試 MAUI blazor / Blazor Hybrid
https://www.cnblogs.com/densen2014/p/16988516.html

知識共享許可協議

本作品采用 知識共享署名-非商業(yè)性使用-相同方式共享 4.0 國際許可協議 進行許可。歡迎轉載、使用、重新發(fā)布,但務必保留文章署名AlexChow(包含鏈接: https://github.com/densen2014 ),不得用于商業(yè)目的,基于本文修改后的作品務必以相同的許可發(fā)布。如有任何疑問,請與我聯系 。
轉載聲明

作者:周創(chuàng)琳 AlexChow,轉載請注明原文鏈接:https://www.cnblogs.com/densen2014/p/17637344.html
分享到:
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

交流熱線
17501437970 周一至周日:09:00 - 21:00

創(chuàng)贏網-致力于幫助普通人在創(chuàng)業(yè)之路上披荊斬棘、走向成功的專業(yè)網站,匯聚創(chuàng)新智慧與成功機遇的網絡天地,是創(chuàng)業(yè)者開啟贏之征程的首選之地。

Powered by Discuz! X3.5 © 2023-2050 CHUANYING Team.

QQ|Archiver|手機版|小黑屋|創(chuàng)贏網 ( 湘ICP備17022177號-3 )

GMT+8, 2025-6-17 17:45 , Processed in 0.355865 second(s), 26 queries .

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 西和县| 泾阳县| 蚌埠市| 从化市| 辛集市| 锦州市| 弋阳县| 永平县| 大洼县| 淳化县| 昔阳县| 辛集市| 福鼎市| 东乡族自治县| 福清市| 天台县| 拉孜县| 武宣县| 松原市| 重庆市| 高要市| 清苑县| 怀集县| 沂源县| 文化| 龙陵县| 嘉义县| 历史| 英吉沙县| 汤原县| 抚宁县| 靖远县| 井冈山市| 云和县| 界首市| 新平| 罗定市| 台北市| 扎赉特旗| 沐川县| 镇雄县|