Entity Framework CoreEntity Framework Core

Entity Framework (EF) Core to lekkie, rozszerzalne, "open source" dla wielu platform wersję popularnych danych Entity Framework dostęp do technologii.Entity Framework (EF) Core is a lightweight, extensible, open source and cross-platform version of the popular Entity Framework data access technology.

EF Core może służyć jako maper obiektowo relacyjny (O/RM), dzięki czemu deweloperzy platformy .NET mogą pracować z bazą danych, używając obiektów platformy .NET i eliminując potrzebę pisania większości kodu dostępu do danych.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 obsługuje wiele aparatów baz danych, zobacz Dostawcy baz danych, aby uzyskać szczegółowe informacje.EF Core supports many database engines, see Database Providers for details.

ModelThe Model

Z programem EF Core dostęp do danych odbywa się przy użyciu modelu.With EF Core, data access is performed using a model. Model składa się z klas jednostek i obiekt kontekstu, który reprezentuje sesję z bazą danych, dzięki czemu zapytania i zapisywać dane.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. Zobacz Tworzenie modelu, aby dowiedzieć się więcej.See Creating a Model to learn more.

Można wygenerować model z istniejącej bazy danych, przekazania kodu z modelu, aby dopasować bazy danych lub użyj migracji EF można utworzyć bazę danych z modelu, a następnie rozwój, jak model zmienia się wraz z upływem czasu.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; }
    }
}

Wykonywanie zapytaniaQuerying

Wystąpienia klas jednostek są pobierane z bazy danych przy użyciu języka Language Integrated Query (LINQ).Instances of your entity classes are retrieved from the database using Language Integrated Query (LINQ). Zobacz Wykonywanie zapytania o dane, aby dowiedzieć się więcej.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();
}

Zapisywanie danychSaving Data

Dane są tworzone, usuwane i modyfikowane w bazie danych za pomocą wystąpień klas jednostek.Data is created, deleted, and modified in the database using instances of your entity classes. Zobacz zapisywanie danych, aby dowiedzieć się więcej.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();
}

Następne krokiNext steps

Aby skorzystać z samouczków wprowadzających, zobacz Wprowadzenie do platformy Entity Framework Core.For introductory tutorials, see Getting Started with Entity Framework Core.