Sdílet prostřednictvím


EntityFrameworkServicesBuilder Třída

Definice

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

public class EntityFrameworkServicesBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.Extensions.DependencyInjection.IServiceCollection>
public class EntityFrameworkServicesBuilder
type EntityFrameworkServicesBuilder = class
    interface IInfrastructure<IServiceCollection>
type EntityFrameworkServicesBuilder = class
Public Class EntityFrameworkServicesBuilder
Implements IInfrastructure(Of IServiceCollection)
Public Class EntityFrameworkServicesBuilder
Dědičnost
EntityFrameworkServicesBuilder
Odvozené
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() k vyplnění zbývajících služeb Entity Framework.

Relační zprostředkovatelé by místo toho měli používat 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 oborem, ale je třeba věnovat velkou pozornost tomu, aby všechny jeho závislosti mohly nový obor zpracovat a nezpůsobovala problém u služeb, které na něm závisí.

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

Konstruktory

EntityFrameworkServicesBuilder(IServiceCollection)

Používají zprostředkovatelé databází k vytvoření nového EntityFrameworkServicesBuilder pro registraci služeb poskytovatele. Relační zprostředkovatelé by měli používat EntityFrameworkRelationalServicesBuilder.

Pole

CoreServices

Jedná se o interní rozhraní API, které podporuje infrastrukturu Entity Framework Core a nepodléhá stejným standardům kompatibility jako veřejná rozhraní API. V libovolné verzi může být bez upozornění změněna nebo odebrána. Měli byste ho používat přímo v kódu pouze s mimořádnou opatrností a s vědomím, že při aktualizaci na novou verzi Entity Framework Core může dojít k selháním aplikace.

Vlastnosti

ServiceCollectionMap

Přístup k podkladovému ServiceCollectionMapobjektu .

Metody

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)

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(Type, Type, Func<IServiceProvider,Object>)

Přidá továrnu 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,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á továrnu 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á továrnu 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()

Registruje výchozí implementace všech služeb, které ještě nejsou zaregistrované poskytovatelem. Poskytovatelé databází musí tuto metodu volat jako poslední krok registrace služby – tedy po registraci všech služeb poskytovatele.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Poskytovatelé databází by měli tuto metodu volat pro přístup k podkladovým službám ServiceCollectionMap , 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 a ne prostřednictvím této metody.

TryGetServiceCharacteristics(Type)

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

Explicitní implementace rozhraní

IInfrastructure<IServiceCollection>.Instance

IServiceCollection Získá konfigurovanou hodnotu.

Tato vlastnost je určená k použití rozšiřujícími metodami, které potřebují využívat služby, které nejsou přímo vystavené na veřejném prostoru rozhraní API.

Metody rozšíření

GetInfrastructure<T>(IInfrastructure<T>)

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

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

Platí pro