原文链接:https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started
环境要求:
Windows 10 Fall Creators Update (10.0.16299.0)
.NET Core 2.0.0 SDK or later.
Visual Studio 2017 version 15.4 or later with the Universal Windows Platform Development workload.
步骤:
- 新建项目: Class Library (.NET Standard)
-
NuGet 添加包: Microsoft.EntityFrameworkCore.Sqlite 和 Microsoft.EntityFrameworkCore.Tools
或者通过 程序包管理控制台
Install-Package Microsoft.EntityFrameworkCore.Sqlite
Install-Package Microsoft.EntityFrameworkCore.Tools -
修改.csproj文件<TargetFramework>netstandard2.0</TargetFramework> 替换为 <TargetFrameworks>netcoreapp2.0;netstandard2.0</TargetFrameworks>
(若之后操作失败 该语句下面额外添加 <RuntimeFrameworkVersion>2.0.3</RuntimeFrameworkVersion>) - 添加一个Model.cs 类
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
namespace EFGetStarted.UWP
{
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=blogging.db");
}
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; }
}
}
-
在当前解决方案中添加一个UWP项目
目标版本至少为Windows 10 Fall Creators Update (10.0; build 16299.0) - 将Model项目 设置为默认启动项目和程序包控制台默认项目
- 程序包控制台运行 Add-Migration MyFirstMigration
(若没有生成 Migrations 文件夹 跳转到步骤 修改.csproj 文件) - 项目引用:对于MvvmCross 直接在Core项目引用Model项目即可
- 数据库迁移(在数据库使用前运行)
using Microsoft.EntityFrameworkCore;
using (var db = new BloggingContext())
{
db.Database.Migrate();
}
- 数据库添加
using (var db = new BloggingContext())
{
var blog = new Blog { Url = NewBlogUrl.Text };
db.Blogs.Add(blog);
db.SaveChanges();
}