Должны ли мы удалить физическую базу данных для удаленных клиентов в приложении SAAS - PullRequest
1 голос
/ 25 июня 2019

Я работаю над проектом, который находится в ядре .net и размещен на Azure и используется в качестве приложения SAAS различными клиентами по всему миру, имеющими отдельные базы данных. Теперь у меня есть требование, согласно которому мы должны удалить базы данных тех клиентов, которые больше не находятся в master db и удалены администратором.

Я сомневаюсь, что мы действительно должны удалить базу данных для клиентов, которые будут удалены?

Также, если да, возможно ли удалить базу данных через приложение, или мы должны использовать какую-то утилиту для этого?

Также я боюсь, если сервер позволит приложению удалить базу данных?

Может ли кто-нибудь предложить мне это?

Следующий технический стек, который я использую: .net ядро ​​(бэкэнд) с ядром EF MSSQL (база данных)

1 Ответ

0 голосов
/ 25 июня 2019

Есть несколько разных способов. По сути, он работает так же, как и любая другая база данных, поэтому вы можете выполнить T-SQL, чтобы сделать это .. или использовать Azure SDK .. Вот несколько примеров различных подходов: https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-database-transact-sql?view=sql-server-2017

Вы можете выполнять необработанные операторы SQL в EF следующим образом:

using(var context = new SampleContext()) 
{ 
    var commandText = "INSERT Categories (CategoryName) VALUES (@CategoryName)"; 
    var name = new SqlParameter("@CategoryName", "Test"); 
    context.Database.ExecuteSqlCommand(commandText, name); 
} 

Итак, используя этот формат, вы можете добавить команду базы данных DROP в?Взято из: https://www.learnentityframeworkcore.com/raw-sql - в разделе Database.ExecuteCommand

...