2

我已经用 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 秒失败。这会是公司表中非人口的原因吗?

任何帮助将不胜感激。

4

0 回答 0