今天在寫一個通訊錄實現程式的時候,遇到個讓我突然卡殼的問題,不知道怎麼進行兩個結構體之間的成員互換......結構體成員有“姓名”,“性別”,“年齡”,“地址”,“電話”,目的就是實現一個通過年齡進行sort排序的功能,作為一個努力學習的編程小白來說,有太多的東西需要學習了..........代碼如 ...
學習ASP.NET Core Blazor編程系列文章之目錄 學習ASP.NET Core Blazor編程系列一——綜述 學習ASP.NET Core Blazor編程系列二——第一個Blazor應用程式(上)
學習ASP.NET Core Blazor編程系列三——實體 學習ASP.NET Core Blazor編程系列五——列表頁面 學習ASP.NET Core Blazor編程系列七——新增圖書 學習ASP.NET Core Blazor編程系列八——數據校驗 學習ASP.NET Core Blazor編程系列十——路由(上) 學習ASP.NET Core Blazor編程系列十三——路由(完) 學習ASP.NET Core Blazor編程系列十五——查詢 學習ASP.NET Core Blazor編程系列十六——排序 學習ASP.NET Core Blazor編程系列十七——文件上傳(上)
上篇學習ASP.NET Core Blazor編程系列十七——文件上傳(上)文章我們學習瞭如何將文件上傳至伺服器,但是我們並沒有將文件的一些信息保存下來,無法進行查詢,無法得知我們上傳了一些什麼文件。本篇文章演示如何將上傳文件的一些基本信息保存到資料庫,從而可以對上傳文件進行簡單管理。
三、添加FileDescribe類
在Visual Studio 2022的解決方案資源管理器中,滑鼠左鍵選中“Models”文件夾,右鍵單擊,在彈出菜單中選擇“添加—>類”。 將類命名為“FileDescribe”,並添加以下屬性,代碼如下:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Xml.Linq;
namespace BlazorAppDemo.Models
{
public class FileDescribe
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Required]
[Key]
public int ID { get; set; }
[Display(Name = "文件名稱")]
[Required]
[StringLength(100)]
public string Name { get; set; }
[Display(Name = "上傳後文件名稱")]
[StringLength(100)]
public string NewName { get; set; }
[Display(Name = "文件大小(bytes)")]
[DisplayFormat(DataFormatString = "{0:N1}")]
public long FileSize { get; set; }
[Display(Name = "文件描述")]
public string PubliceDescribe { get; set; }
[Display(Name = "文件路徑")]
[StringLength(300)]
public string FullName { get; set; }
[Display(Name = "上傳時間(UTC)")]
[DisplayFormat(DataFormatString = "{0:F}")]
[Required]
public DateTime UploadDateTime { get; set; }
}
}
此類使用 Display 和 DisplayFormat 特性,有前端顯示時,這些特性會生成友好的標題和格式。
四、修改BookContext
在Visual Studio 2022的解決方案資源管理器中找到BookContext (Models/BookContext.cs) 文件,使用滑鼠左鍵雙擊在文本編輯器中打開,並修改代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace BlazorAppDemo.Models
{
public class BookContext:DbContext
{
public BookContext(DbContextOptions<BookContext> options)
: base(options)
{
}
public DbSet<Book> Book { get; set; }
public DbSet<FileDescribe> FileDescribe { get; set; }
}
}
五、將 “FileDescribe” 類生成資料庫表
1.在Visual Studio 2022中打開程式包管理器控制台 (PMC),“菜單欄>工具> NuGet 包管理器 > 程式包管理器控制台”。
2.在 PMC 中分別執行以下兩條命令。這兩條命令將實現向資料庫中添加 FileDescribe表,執行結果發下圖1、與圖2。
Add-Migration AddFileDescribeTable
Update-Database
圖1
圖2
3.在執行以上指令之後,會在資料庫中添加FileDescribe表,結果如下圖。