Sök…


Anmärkningar

Entity Framework (EF) är en objektrelational mapper (ORM) som gör det möjligt för .NET-utvecklare att arbeta med relationsdata med domänspecifika objekt. Det eliminerar behovet av de flesta av datatillgångskoden som utvecklare vanligtvis behöver skriva.

Entity Framework låter dig skapa en modell genom att skriva kod eller använda rutor och rader i EF Designer. Båda dessa metoder kan användas för att rikta in sig på en befintlig databas eller skapa en ny databas.

Entity Framework är den huvudsakliga ORM som Microsoft tillhandahåller för .NET Framework och Microsofts rekommenderade datatillgångsteknik.

versioner

Version Utgivningsdatum
1,0 2008-08-11
4,0 2010-04-12
4,1 2011-04-12
4.1 Uppdatering 1 2011-07-25
4.3.1 2012-02-29
5,0 2012-08-11
6,0 2013/10/17
6,1 2014/03/17
Core 1.0 2016/06/27

Releaseinformation: https://msdn.microsoft.com/en-ca/data/jj574253.aspx

Använda enhetsramar från C # (kod först)

Kod låter dig först skapa dina enheter (klasser) utan att använda en GUI-designer eller en .edmx-fil. Den är uppkallad Code först, eftersom du kan skapa dina modeller först och Entity Framework kommer att skapa databas enligt avbildningar åt dig automatiskt. Eller så kan du också använda den här metoden med befintlig databas, som kallas kod först med befintlig databas. Om du till exempel vill att en tabell ska innehålla en lista över planeter:

public class Planet
{
    public string Name { get; set; }
    public decimal AverageDistanceFromSun { get; set; }
}

Skapa nu din kontext som är bron mellan dina entitetsklasser och databasen. Ge det en eller flera DbSet<> :

using System.Data.Entity;

public class PlanetContext : DbContext
{
    public DbSet<Planet> Planets { get; set; }
}

Vi kan använda detta genom att göra följande:

using(var context = new PlanetContext())
{
    var jupiter = new Planet 
    {
        Name = "Jupiter", 
        AverageDistanceFromSun = 778.5
    };

    context.Planets.Add(jupiter);
    context.SaveChanges();
}

I det här exemplet skapar vi en ny Planet med egenskapen Name med värdet "Jupiter" och egenskapen AverageDistanceFromSun med värdet 778.5

Vi kan sedan lägga till denna Planet i kontexten genom att använda DbSet 's Add() metod och begå våra ändringar i databasen med hjälp av SaveChanges() metoden.

Eller så kan vi hämta rader från databasen:

using(var context = new PlanetContext())
{
    var jupiter = context.Planets.Single(p => p.Name == "Jupiter");
    Console.WriteLine($"Jupiter is {jupiter.AverageDistanceFromSun} million km from the sun.");
}

Installera enhetsramverket NuGet-paketet

Öppna fönstret Solution Explorer i din Visual Studio, högerklicka sedan på ditt projekt och välj Hantera NuGet-paket på menyn:

Hantera nuget-paket

EntityFramework i fönstret som öppnas i sökrutan längst upp till höger.

ange bildbeskrivning här

Eller om du använder Visual Studio 2015 ser du något liknande:

ange bildbeskrivning här

Klicka sedan på Installera.

Vi kan också installera enhetsramar med pakethanterarkonsolen. För att göra det måste du först öppna den med hjälp av Verktyg-menyn -> NuGet Package Manager -> Package Manager Console och ange detta:

Install-Package EntityFramework

ange bildbeskrivning här

Detta kommer att installera Entity Framework och lägga automatiskt till en referens till enheten i ditt projekt.

Vad är enhetens ramverk?

Att skriva och hantera ADO.Net-kod för datatillgång är ett tråkigt och monotont jobb. Microsoft har tillhandahållit ett O / RM-ramverk som heter "Entity Framework" för att automatisera databasrelaterade aktiviteter för din applikation.

Enhetsram är ett objekt / O / RM-ramverk. Det är en förbättring av ADO.NET som ger utvecklare en automatiserad mekanism för åtkomst till och lagring av data i databasen.

Vad är O / RM?

ORM är ett verktyg för att lagra data från domänobjekt till den relationsdatabas som MS SQL Server på ett automatiserat sätt utan mycket programmering. O / RM innehåller tre huvuddelar:

  1. Domänklassobjekt
  2. Relationsdatabasobjekt
  3. Kartlägga information om hur domänobjekt kartlägger till relationsdatabasobjekt ( ex tabeller, vyer och lagrade procedurer)

ORM tillåter oss att hålla vår databasdesign åtskild från vår domänklassdesign. Detta gör applikationen underhållbar och utdragbar. Det automatiserar också standard CRUD-operation (Skapa, läsa, uppdatera och radera) så att utvecklaren inte behöver skriva det manuellt.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow