2015-09-24 6 views
1

У меня есть приложение asp.Net mvc с каркасом сущности. Я хочу запустить ALTER DATABASE в методе семян.Операция ожидания, вычисленная в Entity Framework в методе семян

SqlCommand command = new SqlCommand(
    string.Format(@"Alter Database {0} 
     Set FileStream (NON_TRANSACTED_ACCESS = Full, Directory_Name = '{0}-Directory')", 
      builder.InitialCatalog), 
      new SqlConnection(builder.ConnectionString)); 

command.Connection.Open(); 
command.ExecuteNonQuery(); 
command.Connection.Close(); 

Мой код не работает - время ожидания прекращено.

Сведения об исключении:

System.ComponentModel.Win32Exception: операция ожидания истекло

Что я должен сделать, чтобы исправить это?

+1

Скорее всего, у вас есть открытая база данных (или кто-то другой ее открыл) в другом приложении (например, SSMS), и база данных не может быть заблокирована, чтобы ее изменить. – DVK

ответ

0

Рассмотрите возможность использования метода DbContext s ExecuteSqlCommand.

protected override void Seed(EfContext11 context) 
{ 
    context.Database.ExecuteSqlCommand("your query"); 
    base.Seed(context); 
}