RelationalDatabaseCreator Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Veritabanı/şema oluşturmayı ve diğer ilgili işlemleri gerçekleştirir.
Bu tür genellikle veritabanı sağlayıcıları (ve diğer uzantılar) tarafından kullanılır. Genellikle uygulama kodunda kullanılmaz.
Hizmet ömrü Scoped . Bu, her DbContext Örneğin bu hizmetin kendi örneğini kullanacağı anlamına gelir. Uygulama, herhangi bir yaşam süresine kayıtlı diğer hizmetlere bağlı olabilir. Uygulamanın iş parçacığı açısından güvenli olması gerekmez.
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite, Microsoft.EntityFrameworkCore.Storage.IDatabaseCreator, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
public abstract class RelationalDatabaseCreator : Microsoft.EntityFrameworkCore.Storage.IDatabaseCreatorWithCanConnect, Microsoft.EntityFrameworkCore.Storage.IRelationalDatabaseCreator
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
interface IServiceInjectionSite
type RelationalDatabaseCreator = class
interface IRelationalDatabaseCreator
interface IDatabaseCreator
interface IDatabaseCreatorWithCanConnect
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreator, IRelationalDatabaseCreator, IServiceInjectionSite
Public MustInherit Class RelationalDatabaseCreator
Implements IDatabaseCreatorWithCanConnect, IRelationalDatabaseCreator
- Devralma
-
RelationalDatabaseCreator
- Uygulamalar
-
IDatabaseCreator IRelationalDatabaseCreator Microsoft.EntityFrameworkCore.Internal.IServiceInjectionSite IDatabaseCreatorWithCanConnect
Açıklamalar
Daha fazla bilgi için bkz. veritabanı sağlayıcıları ve uzantıları uygulama .
Oluşturucular
| RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor) |
Kullanımdan kalktı.
RelationalDatabaseCreator sınıfının yeni bir örneğini başlatır. |
| RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory) |
RelationalDatabaseCreator sınıfının yeni bir örneğini başlatır. |
| RelationalDatabaseCreator(RelationalDatabaseCreatorDependencies) |
RelationalDatabaseCreator sınıfının yeni bir örneğini başlatır. |
Özellikler
| Connection |
Veritabanı bağlantısını alır. |
| Dependencies |
Bu hizmet için ilişkisel sağlayıcıya özgü bağımlılıklar. |
| ExecutionStrategyFactory |
Kullanılacak öğesini alır IExecutionStrategyFactory . |
| MigrationCommandExecutor |
Kullanılacak IMigrationCommandExecutor 'i alır. |
| Model |
Bu oluşturucu tarafından kullanılan bağlam için modeli alır. |
Yöntemler
| CanConnect() |
Veritabanının kullanılabilir olup olmadığını ve bağlanıp bağlanamayacağını belirler. Bağlanmaya çalışırken oluşturulan özel durumlar yakalanıp uygulamaya yayılmaz. Yapılandırılmış bağlantı dizesi, bağlantıyı normal şekilde oluşturmak için kullanılır, bu nedenle zaman aşımları gibi tüm yapılandırılmış seçenekler kabul edilir. Veritabanına bağlanabilebileceğine, şema oluşturma ile ilgili olarak güncel olduğu anlamına gelmez. |
| CanConnectAsync(CancellationToken) |
Veritabanının kullanılabilir olup olmadığını ve bağlanıp bağlanamayacağını belirler. Bağlanmaya çalışırken oluşturulan özel durumlar yakalanıp uygulamaya yayılmaz. Yapılandırılmış bağlantı dizesi, bağlantıyı normal şekilde oluşturmak için kullanılır, bu nedenle zaman aşımları gibi tüm yapılandırılmış seçenekler kabul edilir. Veritabanına bağlanabilebileceğine, şema oluşturma ile ilgili olarak güncel olduğu anlamına gelmez. |
| Create() |
Fiziksel veritabanını oluşturur. Herhangi bir şemayla doldurulmaya çalışmaz. |
| CreateAsync(CancellationToken) |
Zaman uyumsuz olarak fiziksel veritabanını oluşturur. Herhangi bir şemayla doldurulmaya çalışmaz. |
| CreateTables() |
Veritabanında geçerli model için tüm tabloları oluşturur. Şemayı artımlı olarak güncelleştirmek için girişimde bulunuldu. Veritabanında hiçbirinin olmadığı varsayılır. |
| CreateTablesAsync(CancellationToken) |
Zaman uyumsuz olarak veritabanındaki geçerli model için tüm tabloları oluşturur. Şemayı artımlı olarak güncelleştirmek için girişimde bulunuldu. Veritabanında hiçbirinin olmadığı varsayılır. |
| Delete() |
Fiziksel veritabanını siler. |
| DeleteAsync(CancellationToken) |
Fiziksel veritabanını zaman uyumsuz olarak siler. |
| EnsureCreated() |
Bağlam veritabanının mevcut olmasını sağlar. Varsa, hiçbir eylem yapılmaz. Yoksa, veritabanı ve tüm şeması oluşturulur. Veritabanı varsa, bu bağlamın modeliyle uyumlu olduğundan emin olmak için bir çaba yapılmaz. |
| EnsureCreatedAsync(CancellationToken) |
Zaman uyumsuz olarak, bağlam veritabanının mevcut olmasını sağlar. Varsa, hiçbir eylem yapılmaz. Yoksa, veritabanı ve tüm şeması oluşturulur. Veritabanı varsa, bu bağlamın modeliyle uyumlu olduğundan emin olmak için bir çaba yapılmaz. |
| EnsureDeleted() |
Bağlam veritabanının mevcut olmamasını sağlar. Yoksa, hiçbir işlem yapılmaz. Varsa, veritabanı silinir. Uyarı: tüm veritabanı silinmiş, yalnızca model tarafından bu bağlam için kullanılan veritabanı nesnelerini kaldırmak için hiçbir çaba yapılmadı. |
| EnsureDeletedAsync(CancellationToken) |
Zaman uyumsuz olarak, bağlam veritabanının mevcut olmamasını sağlar. Yoksa, hiçbir işlem yapılmaz. Varsa, veritabanı silinir. Uyarı: tüm veritabanı silinmiş, yalnızca model tarafından bu bağlam için kullanılan veritabanı nesnelerini kaldırmak için hiçbir çaba yapılmadı. |
| Exists() |
Fiziksel veritabanının mevcut olup olmadığını belirler. Veritabanının geçerli model için şemayı içerip içermediğini belirleme girişiminde bulunuldu. |
| ExistsAsync(CancellationToken) |
Fiziksel veritabanının mevcut olup olmadığını zaman uyumsuz olarak belirler. Veritabanının geçerli model için şemayı içerip içermediğini belirleme girişiminde bulunuldu. |
| GenerateCreateScript() |
Geçerli model için tüm tabloları oluşturmak üzere bir komut dosyası oluşturur. |
| GetCreateTablesCommands() |
Tüm tabloları modelden oluşturacak komutları alır. |
| GetCreateTablesCommands(MigrationsSqlGenerationOptions) |
Tüm tabloları modelden oluşturacak komutları alır. |
| HasTables() |
Veritabanında herhangi bir tablo olup olmadığını belirler. Tabloların geçerli modele ait olup olmadığını belirlemeye yönelik bir girişim yoktur. |
| HasTablesAsync(CancellationToken) |
Veritabanının herhangi bir tablo olup olmadığını zaman uyumsuz olarak belirler. Tabloların geçerli modele ait olup olmadığını belirlemeye yönelik bir girişim yoktur. |
Belirtik Arabirim Kullanımları
| IServiceInjectionSite.InjectServices(IServiceProvider) |
Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılmaya yönelik değildir. Bu API gelecek sürümlerde değişebilir veya kaldırılabilir. |