Jazyk

EntityFrameworkServicesBuilder Třída

Definice

Rozhraní API pro tvůrce navržené pro poskytovatele databází, které se mají použít při registraci služeb.

public class EntityFrameworkServicesBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.Extensions.DependencyInjection.IServiceCollection>
[System.Runtime.CompilerServices.Nullable(0)]
public class EntityFrameworkServicesBuilder
public class EntityFrameworkServicesBuilder
type EntityFrameworkServicesBuilder = class
    interface IInfrastructure<IServiceCollection>
[<System.Runtime.CompilerServices.Nullable(0)>]
type EntityFrameworkServicesBuilder = class
type EntityFrameworkServicesBuilder = class
Public Class EntityFrameworkServicesBuilder
Implements IInfrastructure(Of IServiceCollection)
Public Class EntityFrameworkServicesBuilder
Dědičnost
EntityFrameworkServicesBuilder
Odvozené
Atributy
Implementuje

Poznámky

Zprostředkovatelé by měli vytvořit instanci této třídy, použít její metody k registraci služeb a poté volat TryAddCoreServices() vyplnění zbývajících služeb Entity Framework.

Relační zprostředkovatelé by měli místo toho použít EntityFrameworkRelationalServicesBuilder.

Entity Framework zajišťuje registraci služeb s odpovídajícím oborem. V některých případech může poskytovatel zaregistrovat službu s jiným rozsahem, ale je potřeba věnovat velkou pozornost tomu, aby všechny její závislosti mohly zpracovat nový obor a že nezpůsobí problém se službami, které na něm závisejí.

Další informace a příklady najdete v tématu Implementace poskytovatelů databází a rozšíření .

Konstruktory

Název Description
EntityFrameworkServicesBuilder(IServiceCollection)

Poskytovatelé databází používají k vytvoření nové EntityFrameworkServicesBuilder registrace služeb zprostředkovatele. Relační zprostředkovatelé by měli používat EntityFrameworkRelationalServicesBuilder.

Pole

Název Description
CoreServices

Jedná se o interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nevztahuje se na stejné standardy kompatibility jako veřejná rozhraní API. Může se změnit nebo odebrat bez upozornění v jakékoli verzi. Měli byste ho používat přímo ve svém kódu s extrémní opatrností a vědět, že to může vést k selháním aplikace při aktualizaci na novou Entity Framework Core verzi.

Vlastnosti

Název Description
ServiceCollectionMap

Přístup k podkladovému objektu ServiceCollectionMap.

Metody

Název Description
GetServiceCharacteristics(Type)

ServiceCharacteristics Získá pro daný typ služby.

TryAdd(Type, Object)

Přidá implementaci služby Entity Framework pouze v případě, že ještě není zaregistrovaný. Tuto metodu lze použít pouze pro jednoúčelové služby.

TryAdd(Type, Type, Func<IServiceProvider,Object>)

Přidá objekt pro vytváření pro službu Entity Framework pouze v případě, že ještě není zaregistrovaný. Obor služby je automaticky definován rozhraním Entity Framework.

TryAdd(Type, Type)

Přidá implementaci služby Entity Framework pouze v případě, že ještě není zaregistrovaný. Obor služby je automaticky definován rozhraním Entity Framework.

TryAdd<TService,TImplementation>()

Přidá implementaci služby Entity Framework pouze v případě, že ještě není zaregistrovaný. Obor služby je automaticky definován rozhraním Entity Framework.

TryAdd<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Přidá objekt pro vytváření pro službu Entity Framework pouze v případě, že ještě není zaregistrovaný. Obor služby je automaticky definován rozhraním Entity Framework.

TryAdd<TService>(Func<IServiceProvider,TService>)

Přidá objekt pro vytváření pro službu Entity Framework pouze v případě, že ještě není zaregistrovaný. Obor služby je automaticky definován rozhraním Entity Framework.

TryAdd<TService>(TService)

Přidá implementaci služby Entity Framework pouze v případě, že ještě není zaregistrovaný. Tuto metodu lze použít pouze pro jednoúčelové služby.

TryAddCoreServices()

Zaregistruje výchozí implementace všech služeb, které ještě neregistruje poskytovatel. Poskytovatelé databáze musí tuto metodu volat jako poslední krok registrace služby– to znamená, že po registraci všech služeb poskytovatele.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Poskytovatelé databáze by měli volat tuto metodu pro přístup k podkladovému ServiceCollectionMap objektu, aby bylo možné zaregistrovat služby specifické pro poskytovatele. Mějte na paměti, že implementace služeb Entity Framework by měly být registrovány přímo na EntityFrameworkServicesBuilder této metodě, a ne prostřednictvím této metody.

TryGetServiceCharacteristics(Type)

ServiceCharacteristics Získá pro daný typ služby.

Explicitní implementace rozhraní

Název Description
IInfrastructure<IServiceCollection>.Instance

IServiceCollection Získá konfiguraci.

Tato vlastnost je určená pro použití metodami rozšíření, které potřebují využívat služby, které nejsou přímo vystaveny na povrchu veřejného rozhraní API.

Metody rozšíření

Název Description
GetInfrastructure<T>(IInfrastructure<T>)

Získá hodnotu z vlastnosti, která je skryta pomocí IInfrastructure<T>.

Tuto metodu obvykle používají poskytovatelé databáze (a další rozšíření). Obvykle se nepoužívá v kódu aplikace.

Platí pro