数据库 操作
This commit is contained in:
parent
5948f4a97d
commit
9f56229c59
13
AiSportsMicrospaceDB/AiSportsMicrospaceDB.csproj
Normal file
13
AiSportsMicrospaceDB/AiSportsMicrospaceDB.csproj
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.10" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
20
AiSportsMicrospaceDB/DBContext/AppDbContext.cs
Normal file
20
AiSportsMicrospaceDB/DBContext/AppDbContext.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using AiSportsMicrospaceDB.Entities;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AiSportsMicrospaceDB.DBContext
|
||||||
|
{
|
||||||
|
public class AppDbContext : DbContext
|
||||||
|
{
|
||||||
|
public AppDbContext(DbContextOptions<AppDbContext> options)
|
||||||
|
: base(options)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public DbSet<BasicConfig> BasicConfig { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
17
AiSportsMicrospaceDB/Entities/BasicConfig.cs
Normal file
17
AiSportsMicrospaceDB/Entities/BasicConfig.cs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace AiSportsMicrospaceDB.Entities
|
||||||
|
{
|
||||||
|
public class BasicConfig
|
||||||
|
{
|
||||||
|
// ✅ 主键
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Host { get; set; }
|
||||||
|
public string UserName { get; set; }
|
||||||
|
public string Password { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
DB/AiSportsMicrospaceDB.db
Normal file
BIN
DB/AiSportsMicrospaceDB.db
Normal file
Binary file not shown.
@ -2,9 +2,9 @@
|
|||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:local="clr-namespace:Wpf_AiSportsMicrospace.Views"
|
xmlns:local="clr-namespace:Wpf_AiSportsMicrospace.Views"
|
||||||
xmlns:conv="clr-namespace:Wpf_AiSportsMicrospace.Converter"
|
xmlns:conv="clr-namespace:Wpf_AiSportsMicrospace.Converter">
|
||||||
|
|
||||||
StartupUri="Views/Main.xaml">
|
<!--StartupUri="Views/Main.xaml">-->
|
||||||
|
|
||||||
<!--StartupUri="Views/JumpRope/GroupJumpRope.xaml">-->
|
<!--StartupUri="Views/JumpRope/GroupJumpRope.xaml">-->
|
||||||
<Application.Resources>
|
<Application.Resources>
|
||||||
|
|||||||
@ -1,8 +1,17 @@
|
|||||||
using System.Configuration;
|
using AiSportsMicrospaceDB.DBContext;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using Microsoft.ML.Runtime;
|
||||||
|
using System.Configuration;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
|
using System.IO;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using Yztob.AiSports.Common;
|
using Yztob.AiSports.Common;
|
||||||
using Yztob.AiSports.Common.Implement;
|
using Yztob.AiSports.Common.Implement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Wpf_AiSportsMicrospace.Views;
|
||||||
|
|
||||||
|
|
||||||
namespace Wpf_AiSportsMicrospace;
|
namespace Wpf_AiSportsMicrospace;
|
||||||
|
|
||||||
@ -11,16 +20,45 @@ namespace Wpf_AiSportsMicrospace;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class App : Application
|
public partial class App : Application
|
||||||
{
|
{
|
||||||
|
public static Microsoft.Extensions.Hosting.IHost AppHost { get; private set; }
|
||||||
|
|
||||||
protected override void OnStartup(StartupEventArgs e)
|
protected override void OnStartup(StartupEventArgs e)
|
||||||
{
|
{
|
||||||
base.OnStartup(e);
|
base.OnStartup(e);
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
// 初始化 DebugTracker
|
DebugTracker.Enabled = true;
|
||||||
DebugTracker.Enabled = true;
|
DebugTracker.Channels.Add(new DiagnosisDebugTrackChannel());
|
||||||
DebugTracker.Channels.Add(new DiagnosisDebugTrackChannel());
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
AppHost = Host.CreateDefaultBuilder()
|
||||||
|
.ConfigureAppConfiguration((context, config) =>
|
||||||
|
{
|
||||||
|
config.SetBasePath(Directory.GetCurrentDirectory());
|
||||||
|
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
|
||||||
|
})
|
||||||
|
.ConfigureServices((context, services) =>
|
||||||
|
{
|
||||||
|
var connectionString = context.Configuration.GetConnectionString("DefaultConnection");
|
||||||
|
services.AddDbContext<AppDbContext>(options =>
|
||||||
|
options.UseSqlite(connectionString));
|
||||||
|
|
||||||
|
services.AddSingleton<MainWindow>();
|
||||||
|
})
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
AppHost.Start();
|
||||||
|
|
||||||
|
using (var scope = AppHost.Services.CreateScope())
|
||||||
|
{
|
||||||
|
var db = scope.ServiceProvider.GetRequiredService<AppDbContext>();
|
||||||
|
//db.Database.EnsureDeleted(); // 删除数据库和表
|
||||||
|
db.Database.EnsureCreated();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用 DI 创建窗口
|
||||||
|
var mainWindow = AppHost.Services.GetRequiredService<MainWindow>();
|
||||||
|
mainWindow.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
using Emgu.CV.Reg;
|
using AiSportsMicrospaceDB.DBContext;
|
||||||
|
using Emgu.CV.Reg;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
using SharpDX.Direct3D9;
|
using SharpDX.Direct3D9;
|
||||||
using SkiaSharp;
|
using SkiaSharp;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@ -6,6 +8,7 @@ using System.Drawing.Imaging;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net.NetworkInformation;
|
using System.Net.NetworkInformation;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Interop;
|
using System.Windows.Interop;
|
||||||
@ -15,7 +18,6 @@ using System.Windows.Shapes;
|
|||||||
using System.Windows.Threading;
|
using System.Windows.Threading;
|
||||||
using Wpf_AiSportsMicrospace.Common;
|
using Wpf_AiSportsMicrospace.Common;
|
||||||
using Wpf_AiSportsMicrospace.Dto;
|
using Wpf_AiSportsMicrospace.Dto;
|
||||||
using Wpf_AiSportsMicrospace.Service;
|
|
||||||
using Yztob.AiSports.Inferences.Abstractions;
|
using Yztob.AiSports.Inferences.Abstractions;
|
||||||
using Yztob.AiSports.Inferences.Things;
|
using Yztob.AiSports.Inferences.Things;
|
||||||
using Yztob.AiSports.Postures.Sports;
|
using Yztob.AiSports.Postures.Sports;
|
||||||
@ -41,13 +43,13 @@ public partial class MainWindow : Window
|
|||||||
private WriteableBitmap _videoBitmap;
|
private WriteableBitmap _videoBitmap;
|
||||||
private int _lastFrameNumber = -1;
|
private int _lastFrameNumber = -1;
|
||||||
|
|
||||||
ConfigService configService = new ConfigService();
|
private readonly AppDbContext _context;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
public MainWindow(AppDbContext context)
|
||||||
public MainWindow()
|
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
_context = context;
|
||||||
|
|
||||||
// 输出到控制台
|
// 输出到控制台
|
||||||
_humanPredictor = HumanPredictorFactory.Create(HumanPredictorType.SingleHigh);
|
_humanPredictor = HumanPredictorFactory.Create(HumanPredictorType.SingleHigh);
|
||||||
@ -104,6 +106,15 @@ public partial class MainWindow : Window
|
|||||||
|
|
||||||
private void ping_Click(object sender, RoutedEventArgs e)
|
private void ping_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
|
var config = _context.BasicConfig.FirstOrDefault();
|
||||||
|
|
||||||
|
if (config != null)
|
||||||
|
{
|
||||||
|
//var ip = config.Ip;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var host = this.host.Text.Trim();
|
var host = this.host.Text.Trim();
|
||||||
if (string.IsNullOrWhiteSpace(host))
|
if (string.IsNullOrWhiteSpace(host))
|
||||||
{
|
{
|
||||||
@ -264,12 +275,11 @@ public partial class MainWindow : Window
|
|||||||
//VoiceBroadcast.PlayTick();
|
//VoiceBroadcast.PlayTick();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DrawJumpRope3DPointsWithGlow()
|
private async Task DrawJumpRope3DPointsWithGlow()
|
||||||
{
|
{
|
||||||
if (videoImage == null || overlayCanvas == null) return;
|
if (videoImage == null || overlayCanvas == null) return;
|
||||||
configService.LoadAllConfigs(); // 从文件加载 ConfigDic
|
|
||||||
|
|
||||||
ConfigSet jumpRopeConfig;
|
ConfigSet jumpRopeConfig = new ConfigSet();
|
||||||
|
|
||||||
double imgWidth = videoImage.ActualWidth;
|
double imgWidth = videoImage.ActualWidth;
|
||||||
double imgHeight = videoImage.ActualHeight;
|
double imgHeight = videoImage.ActualHeight;
|
||||||
@ -282,7 +292,9 @@ public partial class MainWindow : Window
|
|||||||
|
|
||||||
bool needSaveConfig = false;
|
bool needSaveConfig = false;
|
||||||
|
|
||||||
if (!configService.ConfigDic.TryGetValue("rope-skipping", out jumpRopeConfig) || jumpRopeConfig.Points.Count == 0)
|
var config = await _context.BasicConfig.FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
if (config!=null)
|
||||||
{
|
{
|
||||||
// 没有配置,则生成默认配置
|
// 没有配置,则生成默认配置
|
||||||
jumpRopeConfig = new ConfigSet { Name = "rope-skipping" };
|
jumpRopeConfig = new ConfigSet { Name = "rope-skipping" };
|
||||||
@ -351,8 +363,7 @@ public partial class MainWindow : Window
|
|||||||
// 保存配置(如果是新生成的)
|
// 保存配置(如果是新生成的)
|
||||||
if (needSaveConfig)
|
if (needSaveConfig)
|
||||||
{
|
{
|
||||||
configService.ConfigDic[jumpRopeConfig.Name] = jumpRopeConfig;
|
|
||||||
configService.SaveAllConfigs();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,52 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Text.Json;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Wpf_AiSportsMicrospace.Dto;
|
|
||||||
|
|
||||||
namespace Wpf_AiSportsMicrospace.Service
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 配置服务
|
|
||||||
/// </summary>
|
|
||||||
public class ConfigService
|
|
||||||
{
|
|
||||||
public Dictionary<string, ConfigSet> ConfigDic { get; set; } = new Dictionary<string, ConfigSet>();
|
|
||||||
|
|
||||||
public ConfigService()
|
|
||||||
{
|
|
||||||
LoadAllConfigs();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 保存配置信息
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="filePath"></param>
|
|
||||||
public void SaveAllConfigs(string fileName = "configs.json")
|
|
||||||
{
|
|
||||||
string basePath = AppContext.BaseDirectory; // 当前运行目录
|
|
||||||
string filePath = Path.Combine(basePath, fileName);
|
|
||||||
|
|
||||||
var json = JsonSerializer.Serialize(ConfigDic, new JsonSerializerOptions { WriteIndented = true });
|
|
||||||
File.WriteAllText(filePath, json);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 加载配置信息
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="fileName"></param>
|
|
||||||
public void LoadAllConfigs(string fileName = "configs.json")
|
|
||||||
{
|
|
||||||
string basePath = AppContext.BaseDirectory;
|
|
||||||
string filePath = Path.Combine(basePath, fileName);
|
|
||||||
|
|
||||||
if (!File.Exists(filePath)) return;
|
|
||||||
|
|
||||||
var json = File.ReadAllText(filePath);
|
|
||||||
ConfigDic = JsonSerializer.Deserialize<Dictionary<string, ConfigSet>>(json);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -29,7 +29,6 @@ using Wpf_AiSportsMicrospace.Common;
|
|||||||
using Wpf_AiSportsMicrospace.Dto;
|
using Wpf_AiSportsMicrospace.Dto;
|
||||||
using Wpf_AiSportsMicrospace.Enum;
|
using Wpf_AiSportsMicrospace.Enum;
|
||||||
using Wpf_AiSportsMicrospace.MyUserControl;
|
using Wpf_AiSportsMicrospace.MyUserControl;
|
||||||
using Wpf_AiSportsMicrospace.Service;
|
|
||||||
using WpfAnimatedGif;
|
using WpfAnimatedGif;
|
||||||
using Yztob.AiSports.Common;
|
using Yztob.AiSports.Common;
|
||||||
using Yztob.AiSports.Common.Implement;
|
using Yztob.AiSports.Common.Implement;
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Remove="appsettings.json" />
|
||||||
<None Remove="Resources\Font\myFontFamily.ttf" />
|
<None Remove="Resources\Font\myFontFamily.ttf" />
|
||||||
<None Remove="Resources\Img\Album\1.gif" />
|
<None Remove="Resources\Img\Album\1.gif" />
|
||||||
<None Remove="Resources\Img\Album\1.jpg" />
|
<None Remove="Resources\Img\Album\1.jpg" />
|
||||||
@ -97,6 +98,12 @@
|
|||||||
<None Remove="Resources\Music\raisehand.mp3" />
|
<None Remove="Resources\Music\raisehand.mp3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="appsettings.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Resource Include="Resources\Img\Album\leight.gif">
|
<Resource Include="Resources\Img\Album\leight.gif">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
@ -141,6 +148,11 @@
|
|||||||
<PackageReference Include="FFmpeg.AutoGen.Abstractions" Version="7.1.1" />
|
<PackageReference Include="FFmpeg.AutoGen.Abstractions" Version="7.1.1" />
|
||||||
<PackageReference Include="FFmpeg.AutoGen.Bindings.DynamicallyLoaded" Version="7.1.1" />
|
<PackageReference Include="FFmpeg.AutoGen.Bindings.DynamicallyLoaded" Version="7.1.1" />
|
||||||
<PackageReference Include="HandyControl" Version="3.5.1" />
|
<PackageReference Include="HandyControl" Version="3.5.1" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.10" />
|
||||||
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.10" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.10" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.10" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.10" />
|
||||||
<PackageReference Include="Microsoft.Management.Infrastructure" Version="3.0.0" />
|
<PackageReference Include="Microsoft.Management.Infrastructure" Version="3.0.0" />
|
||||||
<PackageReference Include="Microsoft.ML" Version="4.0.2" />
|
<PackageReference Include="Microsoft.ML" Version="4.0.2" />
|
||||||
<PackageReference Include="Microsoft.ML.OnnxRuntime.DirectML" Version="1.23.0" />
|
<PackageReference Include="Microsoft.ML.OnnxRuntime.DirectML" Version="1.23.0" />
|
||||||
@ -153,6 +165,10 @@
|
|||||||
<PackageReference Include="WpfAnimatedGif" Version="2.0.2" />
|
<PackageReference Include="WpfAnimatedGif" Version="2.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\AiSportsMicrospaceDB\AiSportsMicrospaceDB.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Yunzhi.Library">
|
<Reference Include="Yunzhi.Library">
|
||||||
<HintPath>..\sdks\Yunzhi.Library.dll</HintPath>
|
<HintPath>..\sdks\Yunzhi.Library.dll</HintPath>
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 18
|
||||||
VisualStudioVersion = 17.13.35828.75 d17.13
|
VisualStudioVersion = 18.0.11111.16 d18.0
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wpf_AiSportsMicrospace", "Wpf_AiSportsMicrospace.csproj", "{345052A8-36AD-4739-80F6-991A4DD84ADC}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wpf_AiSportsMicrospace", "Wpf_AiSportsMicrospace.csproj", "{345052A8-36AD-4739-80F6-991A4DD84ADC}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AiSportsMicrospaceDB", "..\AiSportsMicrospaceDB\AiSportsMicrospaceDB.csproj", "{76186799-4B51-4DE3-9F61-E0F4B5A40553}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
@ -15,6 +17,10 @@ Global
|
|||||||
{345052A8-36AD-4739-80F6-991A4DD84ADC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{345052A8-36AD-4739-80F6-991A4DD84ADC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{345052A8-36AD-4739-80F6-991A4DD84ADC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{345052A8-36AD-4739-80F6-991A4DD84ADC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{345052A8-36AD-4739-80F6-991A4DD84ADC}.Release|Any CPU.Build.0 = Release|Any CPU
|
{345052A8-36AD-4739-80F6-991A4DD84ADC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{76186799-4B51-4DE3-9F61-E0F4B5A40553}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{76186799-4B51-4DE3-9F61-E0F4B5A40553}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{76186799-4B51-4DE3-9F61-E0F4B5A40553}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{76186799-4B51-4DE3-9F61-E0F4B5A40553}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
5
Wpf_AiSportsMicrospace/appsettings.json
Normal file
5
Wpf_AiSportsMicrospace/appsettings.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"DefaultConnection": "Data Source=AiSportsMicrospaceDB.db"
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user