feats: 更新

main
bicijinlian 2 years ago
parent ff2d1c89a8
commit db52c869ea

@ -6,4 +6,12 @@
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DependencyValidation.Analyzers" Version="0.11.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EFCore7Study.DataService\EFCore7Study.DataService.csproj" />
</ItemGroup>
</Project> </Project>

@ -9,6 +9,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.5" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.5" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.5" PrivateAssets="all" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.5" PrivateAssets="all" />
<PackageReference Include="Microsoft.DependencyValidation.Analyzers" Version="0.11.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

@ -7,4 +7,13 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DependencyValidation.Analyzers" Version="0.11.0" />
<PackageReference Include="Spectre.Console" Version="0.47.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EFCore7Study.DataService\EFCore7Study.DataService.csproj" />
</ItemGroup>
</Project> </Project>

@ -1,10 +1,281 @@
namespace EFCore7Study.CoreConsoleApp using EFCore7Study.DataService;
using Spectre.Console;
namespace EFCore7Study.CoreConsoleApp
{ {
internal class Program internal class Program
{ {
static void Main(string[] args) 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("任务完成!");
});
} }
} }
} }

@ -10,6 +10,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.DependencyValidation.Analyzers" Version="0.11.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
<PackageReference Include="xunit" Version="2.4.2" /> <PackageReference Include="xunit" Version="2.4.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5"> <PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">

@ -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<AppDbContext> 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<Account>().ToTable("Account");
base.OnModelCreating(modelBuilder);
}
public DbSet<Account> Accounts { get; set; }
}
}

@ -1,7 +0,0 @@
namespace EFCore7Study.DataService
{
public class Class1
{
}
}

@ -7,6 +7,8 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.DependencyValidation.Analyzers" Version="0.11.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.5" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.5" />
</ItemGroup> </ItemGroup>

@ -0,0 +1,17 @@
namespace EFCore7Study.DataService.Models
{
/// <summary>
/// 帐号信息
/// </summary>
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; }
}
}

@ -8,6 +8,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.5" /> <PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.5" />
<PackageReference Include="Microsoft.DependencyValidation.Analyzers" Version="0.11.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
</ItemGroup> </ItemGroup>

@ -6,4 +6,8 @@
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DependencyValidation.Analyzers" Version="0.11.0" />
</ItemGroup>
</Project> </Project>

Loading…
Cancel
Save