【.Net開發】【Entity Framework】之Entity Framework Core

前言:以下內容來源於微軟官方文檔。

Entity Framework (EF) Core 是輕量化、可擴展、開源和跨平臺版的常用 Entity Framework 數據訪問技術。

EF Core 可用作對象關係映射程序 (O/RM),以便於 .NET 開發人員能夠使用 .NET 對象來處理數據庫,這樣就不必經常編寫大部分數據訪問代碼了。

EF Core 支持多個數據庫引擎。

模型

對於 EF Core,使用模型執行數據訪問。 模型由實體類和表示數據庫會話的上下文對象構成,可便於用戶查詢和保存數據。 

可以根據現有數據庫生成模型,手動將模型編碼爲與數據庫匹配,也可以使用 EF 遷移根據模型創建數據庫,然後在模型隨時間推移發生更改時改進它。

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=Blogging;Integrated Security=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; }
    }
}

查詢

使用語言集成查詢 (LINQ) 從數據庫檢索實體類的實例。

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

保存數據

使用實體類的實例在數據庫中創建、刪除和修改數據。

using (var db = new BloggingContext())
{
    var blog = new Blog { Url = "http://sample.com" };
    db.Blogs.Add(blog);
    db.SaveChanges();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章