我是全新的使用MVC,我试图使用一个初始化程序来初始化数据到我的DB当应用程序第一次启动时.这是我在Global.asax.cs中有的:
System.Data.Entity.Database.SetInitializer(new MyAppInitializer()); MyAppContext db = new MyAppContext(); db.Database.Initialize(true);
在Web.config中,这里是我的连接字符串:
<connectionStrings> <add name="MyAppContext" connectionString="data source= MyServer; Integrated Security=True; database=MyDatabase" providerName="System.Data.sqlClient"/>
这是使用MS sql 2008 R2.我的初始化程序如下所示:
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();
我确保我关闭了sql Server Management Studio中的服务器和数据库的连接,但是有多个人可以访问这个数据库,尽管现在没有人可以使用它.我如何得到它,以便我可以在数据库中初始化这些数据?谢谢!
编辑:我已经在服务器上创建了数据库,但它完全是空的(没有表,程序等).这是否会造成问题?
解决方法
在SSMS中运行这样的东西…
USE master -- be sure that you're not on MYDB ALTER DATABASE MYDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE DROP DATABASE MYDB;