Entity Framework CoreEntity Framework Core

Jádro Entity Framework (EF) je odlehčená, rozšiřitelná, Open zdrojová a verze pro různé platformy, která je oblíbená entity Frameworká technologie pro přístup k datům.Entity Framework (EF) Core is a lightweight, extensible, open source and cross-platform version of the popular Entity Framework data access technology.

EF Core může sloužit jako relační Mapovač (O/RM), což umožňuje vývojářům rozhraní .NET pracovat s databází pomocí objektů .NET a eliminovat nutnost většiny kódu přístupu k datům, které obvykle potřebují napsat.EF Core can serve as an object-relational mapper (O/RM), enabling .NET developers to work with a database using .NET objects, and eliminating the need for most of the data-access code they usually need to write.

EF Core podporuje mnoho databázových strojů, další informace najdete v tématu poskytovatelé databází .EF Core supports many database engines, see Database Providers for details.

ModelThe Model

Při použití EF Core se přístup k datům provádí pomocí modelu.With EF Core, data access is performed using a model. Model je tvořen třídami entit a kontextový objekt, který představuje relaci s databází, a umožňuje vám dotazování a ukládání dat.A model is made up of entity classes and a context object that represents a session with the database, allowing you to query and save data. Další informace najdete v tématu Vytvoření modelu .See Creating a Model to learn more.

Můžete vygenerovat model z existující databáze, kód pro psaní rukou modelu, který odpovídá vaší databázi, nebo použít migrace EF k vytvoření databáze z modelu a pak ji vyvíjet jako změny modelu v průběhu času.You can generate a model from an existing database, hand code a model to match your database, or use EF Migrations to create a database from your model, and then evolve it as your model changes over time.

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; }
    }
}

DotazováníQuerying

Instance tříd vaší entity se načítají z databáze pomocí jazyka LINQ (Language Integrated Query).Instances of your entity classes are retrieved from the database using Language Integrated Query (LINQ). Další informace najdete v tématu dotazování na data .See Querying Data to learn more.

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

Ukládání datSaving Data

Data se vytvářejí, odstraňují a upravují v databázi s použitím instancí tříd vaší entity.Data is created, deleted, and modified in the database using instances of your entity classes. Další informace najdete v tématu ukládání dat .See Saving Data to learn more.

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

Další krokyNext steps

Úvodní kurzy najdete v tématu Začínáme s Entity Framework Core.For introductory tutorials, see Getting Started with Entity Framework Core.