EntityFrameworkServicesBuilder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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. |