如何使用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();
  }

}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM