ASP.NET Web 表单 - Seeder 无法与 MySQL 连接一起使用

问题描述 投票:0回答:1

我正在尝试遵循 ASP.NET Web 窗体教程,仅使用 MySQL 连接而不是本地连接:ASP.NET Web 窗体 - 创建数据访问层

我已经测试了连接字符串是否有效,因为我在现有数据库中创建了一个虚拟表,当我运行应用程序时,我可以在服务器资源管理器中看到它。

但根据教程,它还应该创建一个数据库和表并为其提供种子。但什么也没发生。

这是我的连接字符串:

<add name="myProject" connectionString="Data Source=MY_PC_NAME;User Id=testuser; Password=testpassword; Integrated Security=False" providerName="System.Data.SqlClient"/>

这是

ProjectContext
文件:

namespace myProject.Models
{
    public class ProjectContext : DbContext
    {
        public ProjectContext() : base("base_name")
        {
        }
        public DbSet<Item> Items { get; set; }
        public DbSet<Category> Categories{ get; set; }
    }
}

还有

ProjectDatabaseInitializer

public class ProjectDatabaseInitializer : DropCreateDatabaseIfModelChanges<ProjectContext>
{
    protected override void Seed(ProjectContext context)
    {
        GetItems().ForEach(i => context.Items.Add(i));
        GetCategories().ForEach(c => context.Categories.Add(c));
    }
// some seeding lists below

然后我将初始化程序添加到

Global.asax.cs

Database.SetInitializer(new ProjectDatabaseInitializer());

并且

Items
Categories
都有相应的
Item
Category
型号。

但是当我运行该应用程序时,服务器资源管理器仍为空。

请注意,我稍微修改了教程的原始代码

c# mysql asp.net webforms
1个回答
0
投票

首先,确保 ProjectContext 中的

base("base_name")
与 Web.config 中的 name 相同“name” ->
© www.soinside.com 2019 - 2024. All rights reserved.