Aracılığıyla paylaş


IDatabaseCreator Arabirim

Tanım

Belirli bir veritabanı sağlayıcısı için veritabanları oluşturur ve siler.

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

public interface IDatabaseCreator
type IDatabaseCreator = interface
Public Interface IDatabaseCreator
Türetilmiş

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ın uygulanması .

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.

EnsureCreated()

Bağlam için veritabanının mevcut olduğundan emin olur. 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 sarf edilmez.

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 sarf edilmez.

EnsureDeleted()

Bağlam için veritabanının mevcut olmamasını sağlar. Mevcut değilse hiçbir işlem yapılmaz. Varsa veritabanı silinir.

Uyarı: Veritabanının tamamı silinir, yalnızca bu bağlam için model tarafından kullanılan veritabanı nesnelerini kaldırmak için hiçbir çaba sarf edilmez.

EnsureDeletedAsync(CancellationToken)

Zaman uyumsuz olarak bağlam için veritabanının mevcut olmamasını sağlar. Mevcut değilse hiçbir işlem yapılmaz. Varsa veritabanı silinir.

Uyarı: Veritabanının tamamı silinir, yalnızca bu bağlam için model tarafından kullanılan veritabanı nesnelerini kaldırmak için hiçbir çaba sarf edilmez.

Şunlara uygulanır