EntityFrameworkServicesBuilder Sınıf

Tanım

Hizmetleri kaydederken kullanılacak veritabanı sağlayıcıları için tasarlanan bir Oluşturucu API 'SI.

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

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

Entity Framework, hizmetlerin uygun kapsama kaydolmasını 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 ona bağlı olan hizmetlerde sorun oluşmasına neden olmaması gerekir.

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

Açıklamalar

Daha fazla bilgi için bkz. veritabanı sağlayıcıları ve uzantıları uygulama .

Oluşturucular

EntityFrameworkServicesBuilder(IServiceCollection)

Veritabanı sağlayıcıları tarafından EntityFrameworkServicesBuilder Sağlayıcı Hizmetleri kaydı için yeni bir kayıt oluşturmak üzere kullanılır. İlişkisel sağlayıcılar ' EntityFrameworkRelationalServicesBuilder ' kullanmalıdır.

Alanlar

CoreServices

Bu, Entity Framework Core altyapısını destekleyen ve genel API 'Lerle aynı uyumluluk standartlarına tabi olmayan bir iç API 'dir. Herhangi bir yayında bildirimde bulunulmadan değiştirilebilir veya kaldırılabilir. Bu kodu yalnızca, büyük bir uyarı ile doğrudan kodunuzda kullanmanız ve bunu yapmanın, yeni bir Entity Framework Core sürümüne güncelleştirme yaparken uygulama hatalarıyla sonuçlanabileceğini bilmeniz gerekir.

Bu sözlük yalnızca test ve sağlayıcı doğrulama için kullanıma sunuldu. Uygulama kodundan kullanılmamalıdır.

Özellikler

ServiceCollectionMap

Temel alınan erişim ServiceCollectionMap .

Yöntemler

GetServiceCharacteristics(Type)

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

TryAdd(Type, Object)

Entity Framework bir hizmetin bir uygulamasını yalnızca bir tane kayıtlı değilse ekler. Bu yöntem, yalnızca Singleton Hizmetleri için kullanılabilir.

TryAdd(Type, Type)

Entity Framework bir hizmetin bir uygulamasını yalnızca bir tane kayıtlı değilse ekler. Hizmetin kapsamı Entity Framework tarafından otomatik olarak tanımlanır.

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

Yalnızca bir tane kayıtlı değilse, bir Entity Framework hizmeti için bir fabrika ekler. Hizmetin kapsamı Entity Framework tarafından otomatik olarak tanımlanır.

TryAdd<TService,TImplementation>()

Entity Framework bir hizmetin bir uygulamasını yalnızca bir tane kayıtlı değilse ekler. Hizmetin kapsamı Entity Framework tarafından otomatik olarak tanımlanır.

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

Yalnızca bir tane kayıtlı değilse, bir Entity Framework hizmeti için bir fabrika ekler. Hizmetin kapsamı Entity Framework tarafından otomatik olarak tanımlanır.

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

Yalnızca bir tane kayıtlı değilse, bir Entity Framework hizmeti için bir fabrika ekler. Hizmetin kapsamı Entity Framework tarafından otomatik olarak tanımlanır.

TryAdd<TService>(TService)

Entity Framework bir hizmetin bir uygulamasını yalnızca bir tane kayıtlı değilse ekler. Bu yöntem, yalnızca Singleton Hizmetleri için kullanılabilir.

TryAddCoreServices()

Sağlayıcı tarafından zaten kayıtlı olmayan 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-Yani, tüm sağlayıcı hizmetleri kaydedildikten sonra.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Veritabanı sağlayıcılarının, ServiceCollectionMap sağlayıcıya özgü hizmetlerin kaydedileceği bu şekilde, temel erişim için bu yöntemi çağırması gerekir. Entity Framework Services uygulamalarının EntityFrameworkServicesBuilder Bu yöntem aracılığıyla değil, doğrudan üzerinde kayıtlı olması gerektiğini unutmayın.

TryGetServiceCharacteristics(Type)

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

Belirtik Arabirim Kullanımları

IInfrastructure<IServiceCollection>.Instance

IServiceCollectionYapılandırılmakta olan öğesini alır.

Bu özellik, genel API yüzeyinde doğrudan gösterilmeyen hizmetlerden yararlanarak kullanılması gereken uzantı yöntemleri tarafından kullanılmak üzere tasarlanmıştır.

Uzantı Metotları

GetInfrastructure<T>(IInfrastructure<T>)

Kullanılarak gizlenen bir özellikten değeri alır IInfrastructure<T> .

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

IInfrastructure<T> , uygulama kodunda kullanılması amaçlanmayan ancak veritabanı sağlayıcıları tarafından yazılan genişletme yöntemlerinde kullanılabilen özellikleri gizlemek için kullanılır.

Şunlara uygulanır