Dil

EntityFrameworkServicesBuilder Sınıf

Tanım

Veritabanı sağlayıcılarının hizmetleri kaydederken kullanması için tasarlanmış bir oluşturucu API'si.

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
Devralma
EntityFrameworkServicesBuilder
Türetilmiş
Özellikler
Uygulamalar

Açıklamalar

Sağlayıcılar bu sınıfın bir örneğini oluşturmalı, hizmetlerini kaydetmek için yöntemlerini kullanmalı ve ardından kalan Entity Framework hizmetlerini doldurmak için çağrısı TryAddCoreServices() yapmalıdır.

İlişkisel sağlayıcılar bunun yerine 'EntityFrameworkRelationalServicesBuilder' kullanmalıdır.

Entity Framework, hizmetlerin uygun kapsama kaydedilmesini sağlar. Bazı durumlarda sağlayıcı farklı bir kapsama sahip bir hizmeti kaydedebilir, ancak tüm bağımlılıklarının yeni kapsamı işleyebilmesine ve buna bağlı hizmetler için sorun oluşturmamasına dikkat edilmelidir.

Daha fazla bilgi ve örnek için bkz. Veritabanı sağlayıcılarının ve uzantılarının uygulanması .

Oluşturucular

Veri Akışı Adı Description
EntityFrameworkServicesBuilder(IServiceCollection)

Veritabanı sağlayıcıları tarafından sağlayıcı hizmetlerinin kaydı için yeni EntityFrameworkServicesBuilder bir oluşturma amacıyla kullanılır. İlişkisel sağlayıcılar 'EntityFrameworkRelationalServicesBuilder' kullanmalıdır.

Alanlar

Veri Akışı Adı Description
CoreServices

Bu, Entity Framework Core altyapısını destekleyen ve genel API'ler ile aynı uyumluluk standartlarına tabi olmayan bir iç API'dir. Herhangi bir sürümde bildirimde bulunmaksızın değiştirilebilir veya kaldırılabilir. Bunu yalnızca kodunuzda son derece dikkatli bir şekilde kullanmanız ve bunu yapmanın yeni bir Entity Framework Core sürümüne güncelleştirme sırasında uygulama hatalarına neden olabileceğini bilmeniz gerekir.

Özellikler

Veri Akışı Adı Description
ServiceCollectionMap

Temel alınan ServiceCollectionMapöğesine erişim.

Yöntemler

Veri Akışı Adı Description
GetServiceCharacteristics(Type)

Verilen hizmet türü için öğesini ServiceCharacteristics alır.

TryAdd(Type, Object)

Entity Framework hizmetinin bir uygulamasını yalnızca henüz kaydedilmemişse ekler. Bu yöntem yalnızca singleton hizmetleri için kullanılabilir.

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

Entity Framework hizmeti için bir fabrika ekler, ancak henüz kaydedilmemişse. Hizmetin kapsamı, Entity Framework tarafından otomatik olarak tanımlanır.

TryAdd(Type, Type)

Entity Framework hizmetinin bir uygulamasını yalnızca henüz kaydedilmemişse ekler. Hizmetin kapsamı, Entity Framework tarafından otomatik olarak tanımlanır.

TryAdd<TService,TImplementation>()

Entity Framework hizmetinin bir uygulamasını yalnızca henüz kaydedilmemişse ekler. Hizmetin kapsamı, Entity Framework tarafından otomatik olarak tanımlanır.

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

Entity Framework hizmeti için bir fabrika ekler, ancak henüz kaydedilmemişse. Hizmetin kapsamı, Entity Framework tarafından otomatik olarak tanımlanır.

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

Entity Framework hizmeti için bir fabrika ekler, ancak henüz kaydedilmemişse. Hizmetin kapsamı, Entity Framework tarafından otomatik olarak tanımlanır.

TryAdd<TService>(TService)

Entity Framework hizmetinin bir uygulamasını yalnızca henüz kaydedilmemişse ekler. Bu yöntem yalnızca singleton hizmetleri için kullanılabilir.

TryAddCoreServices()

Sağlayıcı tarafından henüz kaydedilmemiş tüm hizmetlerin varsayılan uygulamalarını kaydeder. Veritabanı sağlayıcılarının bu yöntemi hizmet kaydının son adımı olarak çağırması gerekir; diğer bir ifadeyle, tüm sağlayıcı hizmetleri kaydedildikten sonra.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Veritabanı sağlayıcıları, sağlayıcıya özgü hizmetlerin kaydedilebileceği şekilde, temel alınan ServiceCollectionMap hizmetlere erişim için bu yöntemi çağırmalıdır. Entity Framework hizmetlerinin uygulamalarının bu yöntemle değil doğrudan üzerinde EntityFrameworkServicesBuilder kaydedilmesi gerektiğini unutmayın.

TryGetServiceCharacteristics(Type)

Verilen hizmet türü için öğesini ServiceCharacteristics alır.

Belirtik Arabirim Kullanımları

Veri Akışı Adı Description
IInfrastructure<IServiceCollection>.Instance

Yapılandırılanı IServiceCollection alır.

Bu özellik, genel API yüzeyinde doğrudan kullanıma sunulmayan hizmetlerden yararlanması gereken uzantı yöntemleri tarafından kullanılmak üzere tasarlanmıştır.

Uzantı Metotları

Veri Akışı Adı Description
GetInfrastructure<T>(IInfrastructure<T>)

kullanılarak IInfrastructure<T>gizlenen bir özellikten değerini alır.

Bu yöntem genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.

Şunlara uygulanır