Я создаю резервную копию базы данных с помощью этой команды
<add name="WindingContext"
connectionString="Data Source=.;Initial Catalog=Winding;Integrated Security=True;"
providerName="System.Data.SqlClient" />
В виду модель
WindingContext _db = new WindingContext();
BackupCommand = new RelayCommand(() =>
{
string command = @"BACKUP DATABASE Winding
TO DISK = '" + FilePath + "'";
_db.Database.SqlQuery<List<string>>(command).ToList();}
и в представлении восстановления модели.
RestoreCommand = new RelayCommand(() =>
{
var command = "RESTORE DATABASE Winding FROM DISK = '"+FilePath+
"' WITH REPLACE, NOUNLOAD, STATS = 10";
_db.Database.SqlQuery<List<string>>(command).ToList();}
но я получаю ошибку:
RESTORE не может обработать базу данных 'Winding', поскольку она используется этим сеансом. Рекомендуется использовать главную базу данных при выполнении этой операции.
ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ завершается ненормально.
Обновление
Я использую этот код, но получаю ошибку
SqlConnection connection = new SqlConnection("Data Source=.;Initial Catalog=Master;Integrated Security=True;");
SqlCommand cmd = new SqlCommand(@" Restore Database Winding From Disk='" + FilePath + "'", connection);
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}