Fork me on Gitee

如何使用EF Core 2.0

EntityFramework Core是一个轻量级的,非常流行的跨平台数据库访问技术架构。

如何在项目中使用EntityFramework Core
在Visual Studio中,使用程序包管理控制台输入命令行:
Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 2.0.0
 
在跨平台开发使用命令行dotnet
dotnet package Microsoft.EntityFrameworkCode.SqlServer -version 2.0.0

对EF Core而言,使用模型执行数据访问,模型是由一个实体类和数据库会话派生的上下文。你可以根据现有的数据库结构生成一个模型,也可以通过EF Migrations根据模型生成数据库结构。在这里,我只简单的介绍下在已存在的数据库创建模型,创建一个自定义数据库会话上下文BloggingContext类继承 DbContext类 ,然后重写OnConfiguring方法,

using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;

namespace Intro
{
    public class BloggingContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
        }
    }

    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
        public int Rating { 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; }
    }
}

 如何查询数据,保存数据

public IList<Blog> FindByRating()
{
  using (var db = new BloggingContext())
  {
      var blogs = db.Blogs   .Where(b => b.Rating > 3)
          .OrderBy(b => b.Url)   .ToList();   }

}

public void Insert()
{
  using (var db = new BloggingContext())
  {
      var blog = new Blog { Url = "http://sample.com" };
      db.Blogs.Add(blog);
      db.SaveChanges();
  }

}

 

 
posted @ 2017-08-29 20:45  三人游丶88  阅读(3141)  评论(0编辑  收藏  举报