美文网首页
MvvmCross.UWP 通过 Entity Framewor

MvvmCross.UWP 通过 Entity Framewor

作者: 懒惰的饕餮 | 来源:发表于2017-12-05 12:01 被阅读0次

原文链接:https://docs.microsoft.com/en-us/ef/core/get-started/uwp/getting-started

环境要求:

步骤:

  • 新建项目: Class Library (.NET Standard)
  • NuGet 添加包: Microsoft.EntityFrameworkCore.SqliteMicrosoft.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();
             }

相关文章

网友评论

      本文标题:MvvmCross.UWP 通过 Entity Framewor

      本文链接:https://www.haomeiwen.com/subject/uvwqixtx.html