【UWP】自带的EntityFrameWorkCore数据库(新数据库)的配置教程
程序员文章站
2023-12-28 12:04:52
...
前言
之前UWP课程中曾经配置了一下EFCORE数据库,当时爬这个坑爬了将近能有三天,现在整理一下配置顺序,原来用来记录的txt文件是用英文记录的,这边稍微整理一下吧。
Notes
建议配合官方文档食用
官方文档入口:https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started
正文
Part1 : 数据库的创建
- 创建一个UWP解决方案
- 在你的项目中创建一个 .net Standard 文件,同时将它作为解决方案中的启动项目
(set it as the ‘StartUP’ project under the same solution) - 打开Nuget管理器,在控制台执行 Install-Package Microsoft.EntityFrameWorkCore.Sqlite
- 在控制台执行 Install-Package Microsoft.EntityFrameWorkCore.tools
- 右键新创建的EFCORE文件中项目根目录(位置如下图),点击“编辑.csproj文件”
在其中的<TargetFrameworks> 处,ctrl+c & ctrl+v以下代码(覆盖该对应行)
<TargetFrameworks>netcoreapp2.0;netstandard2.0</TargetFrameworks>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
-
net中的数据库与一般的E-R数据库有点类似,数据以类为单位存储,每个类成员(字段)对应的就是我们关系型数据库中的每个表的表项,此处仅以学生-选课-课程模型中的学生表为例:
student.class
using System;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
namespace DB
{
public class Student
{
public int ID { get; set; }
public string Number { get; set; }
public string Name { get; set; }
public int grade { get; set; }
}
public class StudentContext : DbContext
{
public DbSet<Student> Students { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder builder)
{
builder.UseSqlite("Data Source = student.db");
}
}
}
- 打开控制台,在控制台执行 Add-Migration [MigrationName]
- 重新打开我们刚刚打开的.csproj文件,将刚刚我们修改的<TargetFrameworks> 标签修改为
<TargetFrameworks>netstandard2.0</TargetFrameworks>
(注意,<GenerateRuntimeConfigurationFiles> 标签对不需要修改)
- 在UWP项目中添加对.net项目的引用
-
添加以下代码于app.xaml.cs(需添加处增加了备注**):
using Microsoft.EntityFrameworkCore;//** using System; using Windows.ApplicationModel; using Windows.ApplicationModel.Activation; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Navigation; namespace EFGetStarted.UWP { /// <summary> /// Provides application-specific behavior to supplement the default Application class. /// </summary> sealed partial class App : Application { /// <summary> /// Initializes the singleton application object. This is the first line of authored code /// executed, and as such is the logical equivalent of main() or WinMain(). /// </summary> public App() { this.InitializeComponent(); this.Suspending += OnSuspending; using (var db = new studentContext())//** {//** db.Database.Migrate();//** }//** } ...
PART2 : 在UWP中进行增删查改
- 将UWP项目设为启动项目(set it as the ‘start-up’ project)
- 增删查改样例代码如下:
//新增数据
private async void add_Click(object sender, RoutedEventArgs e)
{
using (var db = new Model())
{
Student s = new Student
{
ID = (int) DateTime.Now.Ticks,
Name = name.Text,
Number = number.Text,
grade = int.Parse(score.Text)
};
db.Students.Add(s);
await db.SaveChangesAsync();
}
}
//查询数据
private async void query_Click(object sender, RoutedEventArgs e)
{
using (var db = new Model())
{
member.Text = (await db.Students.CountAsync()).ToString();
}
}
//数据删除
private void delete_Click(object sender, RoutedEventArgs e)
{
using (var db = new Model())
{
db.Database.Migrate();
}
}
- 开始你的新数据库使用之旅吧!
References:
- 官方文档
https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started - Special Thanks to the first user giving feedback under the official document, though the feedbacks under the document is closed now without a reason why :(
- My Teacher Professor Zhang Yin
http://faculty.neu.edu.cn/cse/zhangyin/
推荐阅读
-
【UWP】自带的EntityFrameWorkCore数据库(新数据库)的配置教程
-
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
-
Hadoop安装配置Mysql数据库的步骤教程
-
Hadoop安装配置Mysql数据库的步骤教程
-
Windows 64位下装安装Oracle 11g,PLSQL Developer的配置问题,数据库显示空白的完美解决方案(图文教程)
-
Oracle 配置连接远程数据库的教程
-
CentOS系统上安装配置Oracle数据库的详细教程
-
mac安装mysql数据库及配置环境变量的图文教程
-
docker 安装nacos并配置数据库的教程详解
-
CentOS下Redis数据库的基本安装与配置教程