美文网首页
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