Entity Framework CoreEntity Framework Core

Entity Framework (EF) Core je odlehčený, rozšiřitelné, a multiplatformní verze oblíbených dat Entity Framework přístup k technologii.Entity Framework (EF) Core is a lightweight, extensible, and cross-platform version of the popular Entity Framework data access technology.

EF Core může sloužit jako objektově relační Mapovač (O/RM), umožňuje vývojářům .NET pracovat s databází s použitím objektů .NET a eliminují pro většinu kódu přístupu k datům je obvykle potřeba psát.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ů, naleznete v tématu poskytovatelé databází podrobnosti.EF Core supports many database engines, see Database Providers for details.

Pokud chcete další informace o psaní kódu, doporučujeme jednu z našich Začínáme vodítka, které vám pomůžou začít s EF Core.If you like to learn by writing code, we'd recommend one of our Getting Started guides to get you started with EF Core.

Novinky v EF CoreWhat is new in EF Core

Pokud jste obeznámeni s EF Core a chcete přejít přímo do podrobností o nejnovější vydané verzi:If you are familiar with EF Core and want to jump straight into the details of the latest releases:

Získat Entity Framework CoreGet Entity Framework Core

Nainstalujte balíček NuGet k poskytovateli databáze, kterou chcete použít.Install the NuGet package for the database provider you want to use. Například chcete nainstalovat zprostředkovatele SQL Server ve vývoji multiplatformních aplikací pomocí dotnet nástroj na příkazovém řádku:For example, to install the SQL Server provider in cross-platform development using dotnet tool in the command line:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer

Nebo v sadě Visual Studio pomocí konzole Správce balíčků:Or in Visual Studio, using the Package Manager Console:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Zobrazit poskytovatelé databází informace o dostupných zprostředkovatelů a instalace EF Core podrobný postup instalace.See Database Providers for information on available providers and Installing EF Core for more detailed installation steps.

ModelThe Model

Přístup k datům s EF Core se provádí pomocí modelu.With EF Core, data access is performed using a model. Model se skládá z tříd entit a odvozené kontext, který reprezentuje relaci s databází, umožňuje dotazování a uložit data.A model is made up of entity classes and a derived context that represents a session with the database, allowing you to query and save data. Zobrazit vytváření modelu Další informace.See Creating a Model to learn more.

Můžete generovat model z existující databáze, předat kód modelu tak, aby odpovídaly vaší databáze nebo použít migraci EF k vytvoření databáze z vašeho modelu (a vyvíjejí ho jako model mění 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 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=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; }
    }
}

DotazováníQuerying

Instance třídy entity načtou z databáze pomocí Language Integrated Query (LINQ).Instances of your entity classes are retrieved from the database using Language Integrated Query (LINQ). Zobrazit dotazování na Data Další informace.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 je vytvořit, odstranit a upravit v databázi pomocí instance třídy entity.Data is created, deleted, and modified in the database using instances of your entity classes. Zobrazit ukládání dat Další informace.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();
}