登录失败:无法打开显式指定的数据库

时间:2013-06-19 16:20:51

标签: sql-server-2008 entity-framework initialization dbcontext

我使用EF创建了MVC4项目,并且刚刚尝试为已成功创建的数据库表创建种子。我创建了一个初始化类,如下所示:

public class MyInitializer : DropCreateDatabaseIfModelChanges<MyContext>
{
    protected override void Seed(MyContext context)
    {
        var companies = new List<Company>
        {
            new Company { CompanyID = 1, CompanyName = "eBay", LogoURL = "~/Images/test1.jpg" },
            new Company { CompanyID = 2, CompanyName = "Coca Cola", LogoURL = "~/Images/test2.jpg" },
            new Company { CompanyID = 3, CompanyName = "Google", LogoURL = "~/Images/test3.jpg" },
            new Company { CompanyID = 4, CompanyName = "Microsoft", LogoURL = "~/Images/test.jpg" }
        };
        companies.ForEach(c => context.Company.Add(c));
        context.SaveChanges();
    }
}

在我的Context类中,我有以下内容:

public MyContext(string connString) : base(connString)
    {
        this.Configuration.LazyLoadingEnabled = false;
        Database.SetInitializer<MyContext>(new MyInitializer());
        this.Database.CreateIfNotExists();
        this.Database.Initialize(true);
    }

数据库正在成功创建,但数据没有像我预期的那样输入到Company表中。我查看了事件日志,我收到以下消息:

信息:用户DOMAIN \ username'登录失败。原因:无法打开显式指定的数据库。 [客户:xxx.xxx.x.xx]

信息:启动数据库'dbname'

登录似乎在数据库“启动”前2秒失败。这会成为公司表中非人口的原因吗?

非常感谢任何帮助。

0 个答案:

没有答案