Jestem całkowicie nowy w używaniu MVC i próbuję użyć inicjalizatora do zainicjowania danych w moim DB, gdy aplikacja jest uruchamiana po raz pierwszy. Oto co mam w Global.asax.cs:Nie można usunąć bazy danych, ponieważ jest ona obecnie w użyciu MVC
System.Data.Entity.Database.SetInitializer(new MyAppInitializer());
MyAppContext db = new MyAppContext();
db.Database.Initialize(true);
w pliku web.config, tu jest mój ciąg połączenia:
<connectionStrings>
<add name="MyAppContext"
connectionString="data source= MyServer; Integrated Security=True; database=MyDatabase"
providerName="System.Data.SqlClient"/>
to za pomocą MS SQL 2008 R2 . Moja Initializer wygląda następująco:
public class MyAppInitializer : DropCreateDatabaseAlways<MyAppContext>
{
protected override void Seed(MyAppContext context)
{
var organizations = new List<Organizations>
{
new Organizations { OrgName = "AT", OrgPhone = 5093333433, OrgOfficeLocation = "ITB", OrgPointOfContact = "Tony", OrgIsActive = 1 },
new Organizations { OrgName = "Libraries", OrgPhone = 5093331122, OrgOfficeLocation = "Holland-Terrell", OrgPointOfContact = "Herald", OrgIsActive = 1 }
};
organizations.ForEach(s => context.Organizations.Add(s));
context.SaveChanges();
Zrobiłem pewien Zamknęłam połączenie do serwera i bazy danych w SQL Server Management Studio, ale wiele osób ma dostęp do tego DB, choć nikt nie powinien używać go teraz. Jak mogę to zrobić, aby móc zainicjować te dane w moim DB? Dzięki!
Edytuj: Mam już utworzoną bazę danych na serwerze, ale jest ona całkowicie pusta (brak tabel, procedur itp.). Czy to spowoduje problem?
Dostaję błąd składniowy: niepoprawna składnia w pobliżu "NATYCHMIAST" Wyjąłem to i uruchomiłem, ale ono trwało tylko około 5 minut zanim go zatrzymałem, w którym to przypadku otrzymałem ten błąd: Żądanie TRANSAKCJI ROLLBACK nie odpowiada POCZĄTEK TRANSAKCJI. – SantasNotReal
WITH ROLLBACK IMMEDIATE – Sam
Działa dla *** LocalDB *** przy użyciu _mdf file_? za pomocą 'Data Source = (LocalDB) \ v11.0; AttachDbFilename = | DataDirectory | \ wingtiptoys.mdf; Integrated Security = True' – Kiquenet