原文鏈接: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();
}