diff --git a/EFCore7Study.BlazorServerApp/EFCore7Study.BlazorServerApp.csproj b/EFCore7Study.BlazorServerApp/EFCore7Study.BlazorServerApp.csproj index 4c2bb77..dbd114e 100644 --- a/EFCore7Study.BlazorServerApp/EFCore7Study.BlazorServerApp.csproj +++ b/EFCore7Study.BlazorServerApp/EFCore7Study.BlazorServerApp.csproj @@ -6,4 +6,12 @@ enable + + + + + + + + diff --git a/EFCore7Study.BlazorWasmApp/EFCore7Study.BlazorWasmApp.csproj b/EFCore7Study.BlazorWasmApp/EFCore7Study.BlazorWasmApp.csproj index fed7172..89233fb 100644 --- a/EFCore7Study.BlazorWasmApp/EFCore7Study.BlazorWasmApp.csproj +++ b/EFCore7Study.BlazorWasmApp/EFCore7Study.BlazorWasmApp.csproj @@ -9,6 +9,7 @@ + diff --git a/EFCore7Study.CoreConsoleApp/EFCore7Study.CoreConsoleApp.csproj b/EFCore7Study.CoreConsoleApp/EFCore7Study.CoreConsoleApp.csproj index f02677b..2dd57ec 100644 --- a/EFCore7Study.CoreConsoleApp/EFCore7Study.CoreConsoleApp.csproj +++ b/EFCore7Study.CoreConsoleApp/EFCore7Study.CoreConsoleApp.csproj @@ -7,4 +7,13 @@ enable + + + + + + + + + diff --git a/EFCore7Study.CoreConsoleApp/Program.cs b/EFCore7Study.CoreConsoleApp/Program.cs index 89a1036..580f256 100644 --- a/EFCore7Study.CoreConsoleApp/Program.cs +++ b/EFCore7Study.CoreConsoleApp/Program.cs @@ -1,10 +1,281 @@ -namespace EFCore7Study.CoreConsoleApp +using EFCore7Study.DataService; + +using Spectre.Console; + +namespace EFCore7Study.CoreConsoleApp { internal class Program { static void Main(string[] args) { - Console.WriteLine("Hello, World!"); + AnsiConsole.Status() + .Spinner(Spinner.Known.BouncingBar) + .Start("测试一个", ctx => + { + ctx.Spinner(Spinner.Known.BouncingBar); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Aesthetic)); + + ctx.Spinner(Spinner.Known.Arc); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Arc)); + + ctx.Spinner(Spinner.Known.Arrow); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Arrow)); + + ctx.Spinner(Spinner.Known.Arrow2); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Arrow2)); + + ctx.Spinner(Spinner.Known.Arrow3); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Arrow3)); + + ctx.Spinner(Spinner.Known.Balloon); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Balloon)); + + ctx.Spinner(Spinner.Known.Balloon2); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Balloon2)); + + ctx.Spinner(Spinner.Known.BetaWave); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.BetaWave)); + + ctx.Spinner(Spinner.Known.Bounce); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Bounce)); + + ctx.Spinner(Spinner.Known.BouncingBall); + Thread.Sleep(3000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.BouncingBall)); + + ctx.Spinner(Spinner.Known.BouncingBar); + Thread.Sleep(3000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.BouncingBar)); + + ctx.Spinner(Spinner.Known.BoxBounce); + Thread.Sleep(3000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.BoxBounce)); + + ctx.Spinner(Spinner.Known.BoxBounce2); + Thread.Sleep(3000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.BoxBounce2)); + + ctx.Spinner(Spinner.Known.Dots8Bit); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots8Bit)); + + ctx.Spinner(Spinner.Known.Christmas); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Christmas)); + + ctx.Spinner(Spinner.Known.Circle); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Circle)); + + ctx.Spinner(Spinner.Known.CircleHalves); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.CircleHalves)); + + ctx.Spinner(Spinner.Known.CircleQuarters); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.CircleQuarters)); + + ctx.Spinner(Spinner.Known.Clock); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Clock)); + + ctx.Spinner(Spinner.Known.Default); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Default)); + + ctx.Spinner(Spinner.Known.Dots); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots)); + + ctx.Spinner(Spinner.Known.Dots2); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots2)); + + ctx.Spinner(Spinner.Known.Dots8Bit); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots8Bit)); + //======================================================== + ctx.Spinner(Spinner.Known.Dqpb); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Dqpb)); + + ctx.Spinner(Spinner.Known.Earth); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Earth)); + + ctx.Spinner(Spinner.Known.Flip); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Flip)); + + ctx.Spinner(Spinner.Known.Grenade); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Grenade)); + + ctx.Spinner(Spinner.Known.GrowHorizontal); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.GrowHorizontal)); + + ctx.Spinner(Spinner.Known.GrowVertical); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.GrowVertical)); + + ctx.Spinner(Spinner.Known.Hamburger); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Hamburger)); + Thread.Sleep(2000); + + ctx.Spinner(Spinner.Known.Hearts); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Hearts)); + + ctx.Spinner(Spinner.Known.Layer); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Layer)); + + ctx.Spinner(Spinner.Known.Line); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Line)); + + ctx.Spinner(Spinner.Known.Line2); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Line2)); + + ctx.Spinner(Spinner.Known.Material); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Material)); + + ctx.Spinner(Spinner.Known.Monkey); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Monkey)); + + ctx.Spinner(Spinner.Known.Moon); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Moon)); + + ctx.Spinner(Spinner.Known.Noise); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Noise)); + + ctx.Spinner(Spinner.Known.Pipe); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Pipe)); + + ctx.Spinner(Spinner.Known.Point); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Dots8Bit)); + + ctx.Spinner(Spinner.Known.Pong); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Pong)); + + ctx.Spinner(Spinner.Known.Runner); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Runner)); + + ctx.Spinner(Spinner.Known.Shark); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Shark)); + + ctx.Spinner(Spinner.Known.SimpleDots); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.SimpleDots)); + + ctx.Spinner(Spinner.Known.SimpleDotsScrolling); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.SimpleDotsScrolling)); + + ctx.Spinner(Spinner.Known.Smiley); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Smiley)); + + ctx.Spinner(Spinner.Known.SquareCorners); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.SquareCorners)); + + ctx.Spinner(Spinner.Known.Squish); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Squish)); + + ctx.Spinner(Spinner.Known.Star); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Star)); + + ctx.Spinner(Spinner.Known.Star2); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Star2)); + + ctx.Spinner(Spinner.Known.Toggle); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Toggle)); + + ctx.Spinner(Spinner.Known.Toggle2); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Toggle2)); + + ctx.Spinner(Spinner.Known.Triangle); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Triangle)); + + ctx.Spinner(Spinner.Known.Weather); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Weather)); + + ctx.Spinner(Spinner.Known.Weather); + Thread.Sleep(2000); + AnsiConsole.MarkupLine(nameof(Spinner.Known.Weather)); + }); + + + AnsiConsole.Status() + .Spinner(Spinner.Known.Balloon) + .Start("准备查询数据库...", ctx => + { + Thread.Sleep(2000); + + // 生成查询对象 + ctx.Status("生成查询对象..."); + AppDbContext dbContext = new AppDbContext(); + Thread.Sleep(2000); + AnsiConsole.MarkupLine("生成查询对象: DbContext, 完成!"); + + // 连接数据库 + ctx.Status("正在连接到数据库服务器..."); + ctx.Spinner(Spinner.Known.Balloon); + ctx.SpinnerStyle(Style.Parse("green")); + Thread.Sleep(2000); + AnsiConsole.MarkupLine("已连接到数据库服务器!"); + + + // 查询数据 + ctx.Status("正在查询数据..."); + ctx.Spinner(Spinner.Known.Star2); + ctx.SpinnerStyle(Style.Parse("yellow")); + Thread.Sleep(3000); + AnsiConsole.MarkupLine("完成查询!"); + + + //输出查询结果 + ctx.Status("输出查询结果..."); + ctx.Spinner(Spinner.Known.Arrow); + ctx.SpinnerStyle(Style.Parse("red")); + + dbContext.Accounts.ToList().ForEach(x => + { + AnsiConsole.MarkupLine($"标识:{x.Id},编号:{x.Code}, 姓名:{x.Name.PadRight(10)},年龄:{x.Age}, 密码:{x.Pwd}"); + Thread.Sleep(300); + }); + + AnsiConsole.MarkupLine("任务完成!"); + + }); } } } \ No newline at end of file diff --git a/EFCore7Study.DataService.Tests/EFCore7Study.DataService.Tests.csproj b/EFCore7Study.DataService.Tests/EFCore7Study.DataService.Tests.csproj index 5e9fe29..02b456a 100644 --- a/EFCore7Study.DataService.Tests/EFCore7Study.DataService.Tests.csproj +++ b/EFCore7Study.DataService.Tests/EFCore7Study.DataService.Tests.csproj @@ -10,6 +10,7 @@ + diff --git a/EFCore7Study.DataService/AppDbContext.cs b/EFCore7Study.DataService/AppDbContext.cs new file mode 100644 index 0000000..3fb0003 --- /dev/null +++ b/EFCore7Study.DataService/AppDbContext.cs @@ -0,0 +1,51 @@ +using EFCore7Study.DataService.Models; + +using Microsoft.EntityFrameworkCore; + +namespace EFCore7Study.DataService +{ + public class AppDbContext : DbContext + { + private string? _connectString; + + public AppDbContext() + { + + } + + public AppDbContext(string connectstring) + { + _connectString = connectstring; + } + + public AppDbContext(DbContextOptions options) + : base(options) + { + + } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + if (!optionsBuilder.IsConfigured) + { + if (string.IsNullOrWhiteSpace(_connectString)) + { + _connectString = @"Server=127.0.0.1\SQL2019;Database=EFCore7Study;User Id=sa;Password=gly-bicijinlian;Encrypt=True;TrustServerCertificate=True;"; + } + + optionsBuilder + .UseSqlServer(_connectString) + .EnableSensitiveDataLogging(); + } + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity().ToTable("Account"); + + base.OnModelCreating(modelBuilder); + } + + public DbSet Accounts { get; set; } + } +} \ No newline at end of file diff --git a/EFCore7Study.DataService/Class1.cs b/EFCore7Study.DataService/Class1.cs deleted file mode 100644 index b4b991e..0000000 --- a/EFCore7Study.DataService/Class1.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace EFCore7Study.DataService -{ - public class Class1 - { - - } -} \ No newline at end of file diff --git a/EFCore7Study.DataService/EFCore7Study.DataService.csproj b/EFCore7Study.DataService/EFCore7Study.DataService.csproj index bebe973..d462168 100644 --- a/EFCore7Study.DataService/EFCore7Study.DataService.csproj +++ b/EFCore7Study.DataService/EFCore7Study.DataService.csproj @@ -7,6 +7,8 @@ + + diff --git a/EFCore7Study.DataService/Models/Account.cs b/EFCore7Study.DataService/Models/Account.cs new file mode 100644 index 0000000..b8bc6a3 --- /dev/null +++ b/EFCore7Study.DataService/Models/Account.cs @@ -0,0 +1,17 @@ +namespace EFCore7Study.DataService.Models +{ + /// + /// 帐号信息 + /// + public class Account + { + public int Id { get; set; } + public string Code { get; set; } + public string Name { get; set; } + public string Pwd { get; set; } + + public int Age { get; set; } + + public int State { get; set; } + } +} diff --git a/EFCore7Study.WebApi/EFCore7Study.WebApi.csproj b/EFCore7Study.WebApi/EFCore7Study.WebApi.csproj index 499d259..d6f9db3 100644 --- a/EFCore7Study.WebApi/EFCore7Study.WebApi.csproj +++ b/EFCore7Study.WebApi/EFCore7Study.WebApi.csproj @@ -8,6 +8,7 @@ + diff --git a/EFCore7Study.WebApp/EFCore7Study.WebApp.csproj b/EFCore7Study.WebApp/EFCore7Study.WebApp.csproj index 4c2bb77..b4f160e 100644 --- a/EFCore7Study.WebApp/EFCore7Study.WebApp.csproj +++ b/EFCore7Study.WebApp/EFCore7Study.WebApp.csproj @@ -6,4 +6,8 @@ enable + + + +