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şturma 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.
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
Hizmet ömrü şeklindedir Scoped. Bu, her DbContext örneğin bu hizmetin kendi örneğini kullanacağı anlamına gelir. Uygulama, herhangi bir yaşam süresiyle kaydedilen diğer hizmetlere bağlı olabilir. Uygulamanın iş parçacığı güvenli olması gerekmez.
Daha fazla bilgi ve örnek için bkz. Veritabanı sağlayıcılarının ve uzantıların uygulanması .
Oluşturucular
RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor, IExecutionStrategyFactory) |
RelationalDatabaseCreator sınıfının yeni bir örneğini başlatır. |
RelationalDatabaseCreator(IModel, IRelationalConnection, IMigrationsModelDiffer, IMigrationsSqlGenerator, IMigrationCommandExecutor) |
Geçersiz.
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 IExecutionStrategyFactory alır. |
MigrationCommandExecutor |
Kullanılacak öğesini IMigrationCommandExecutor alır. |
Model |
Bu oluşturucunun birlikte kullanıldığı bağlamın modelini alır. |
Yöntemler
CanConnect() |
Veritabanının kullanılabilir olup olmadığını ve bağlanıp bağlanamayacağını belirler. |
CanConnectAsync(CancellationToken) |
Veritabanının kullanılabilir olup olmadığını ve bağlanıp bağlanamayacağını belirler. |
Create() |
Fiziksel veritabanını oluşturur. Herhangi bir şemayla doldurmaya çalışmaz. |
CreateAsync(CancellationToken) |
Fiziksel veritabanını zaman uyumsuz olarak oluşturur. Herhangi bir şemayla doldurmaya çalışmaz. |
CreateTables() |
Veritabanındaki geçerli model için tüm tabloları oluşturur. Şemayı artımlı olarak güncelleştirme girişiminde bulunulmaz. Tablolardan hiçbirinin veritabanında bulunmadığı varsayılır. |
CreateTablesAsync(CancellationToken) |
Veritabanındaki geçerli model için tüm tabloları zaman uyumsuz olarak oluşturur. Şemayı artımlı olarak güncelleştirme girişiminde bulunulmaz. Tablolardan hiçbirinin veritabanında bulunmadığı varsayılır. |
Delete() |
Fiziksel veritabanını siler. |
DeleteAsync(CancellationToken) |
Fiziksel veritabanını zaman uyumsuz olarak siler. |
EnsureCreated() |
Bağlam için veritabanının mevcut olmasını sağlar. Varsa, hiçbir işlem yapılmaz. Yoksa veritabanı ve tüm şeması oluşturulur. Veritabanı varsa, bu bağlamın modeliyle uyumlu olduğundan emin olmak için hiçbir çaba harcanmaz. |
EnsureCreatedAsync(CancellationToken) |
Zaman uyumsuz olarak bağlam için veritabanının mevcut olmasını sağlar. Varsa, hiçbir işlem yapılmaz. Yoksa veritabanı ve tüm şeması oluşturulur. Veritabanı varsa, bu bağlamın modeliyle uyumlu olduğundan emin olmak için hiçbir çaba harcanmaz. |
EnsureDeleted() |
Bağlam için veritabanının mevcut olmamasını sağlar. Yoksa, hiçbir işlem yapılmaz. Varsa veritabanı silinir. Uyarı: Veritabanının tamamı silinir ve yalnızca bu bağlam için model tarafından kullanılan veritabanı nesnelerini kaldırmak için hiçbir çaba harcanmamaktadır. |
EnsureDeletedAsync(CancellationToken) |
Zaman uyumsuz olarak bağlam için veritabanının mevcut olmamasını sağlar. Yoksa, hiçbir işlem yapılmaz. Varsa veritabanı silinir. Uyarı: Veritabanının tamamı silinir ve yalnızca bu bağlam için model tarafından kullanılan veritabanı nesnelerini kaldırmak için hiçbir çaba harcanmamaktadır. |
Exists() |
Fiziksel veritabanının var olup olmadığını belirler. Veritabanının geçerli modelin şemasını içerip içermediğini belirleme girişiminde bulunulmuyor. |
ExistsAsync(CancellationToken) |
Fiziksel veritabanının var olup olmadığını zaman uyumsuz olarak belirler. Veritabanının geçerli modelin şemasını içerip içermediğini belirleme girişiminde bulunulmuyor. |
GenerateCreateScript() |
Geçerli model için tüm tabloları oluşturmak için bir betik oluşturur. |
GetCreateTablesCommands() |
Modelden tüm tabloları oluşturacak komutları alır. |
GetCreateTablesCommands(MigrationsSqlGenerationOptions) |
Modelden tüm tabloları oluşturacak komutları alır. |
HasTables() |
Veritabanının tablo içerip içermediğini belirler. Tabloların geçerli modele ait olup olmadığını belirleme girişiminde bulunulmuyor. |
HasTablesAsync(CancellationToken) |
Veritabanının tablo içerip içermediğini zaman uyumsuz olarak belirler. Tabloların geçerli modele ait olup olmadığını belirleme girişiminde bulunulmuyor. |
Belirtik Arabirim Kullanımları
IServiceInjectionSite.InjectServices(IServiceProvider) |
Bu API, Entity Framework Core altyapısını destekler ve doğrudan kodunuzdan kullanılması amaçlanmamıştır. Bu API gelecek sürümlerde değiştirilebilir veya kaldırılabilir. |
Şunlara uygulanır
Entity Framework