C# - Entity Framework Core - 自动化数据库生成
P粉520204081
P粉520204081 2023-08-26 17:41:13
[MySQL讨论组]

当我第一次运行我的桌面应用程序时,我想要自动创建数据库和表结构。

我找不到任何关于EFCore等效方法的示例或文档。

我按照这份文档中的说明进行了所有操作: https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core-example.html

但我仍然遇到问题:在Microsoft.Data.SqlClient.dll中抛出异常:'Microsoft.Data.SqlClient.SqlException',并且数据库为空 :( 如果您能帮助我,请告诉我。

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {

            try
            {
                optionsBuilder.UseMySQL("server=localhost;userid=root;password=topSecret;database=kartoteka-pracownicza");               
            }
            catch (MySqlException ex)
            {
                switch (ex.Number)
                {
                    case 0:
                        MessageBox.Show("无法连接到服务器,请联系管理员");
                        break;

                    case 1045:
                        MessageBox.Show("无效的用户名/密码,请重试");
                        break;
                }
            };
        }

P粉520204081
P粉520204081

全部回复(1)
P粉986028039

你好,如果你使用迁移,你可以在你的 Startup.cs 中添加类似以下的内容:

public void Configure(IApplicationBuilder app)
    {
         using (var serviceScope = 
         app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope())
         {
               var context = serviceScope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
               context.Database.Migrate();
         }
    }

如果你不使用迁移,你可以将 Migrate(); 替换为 EnsureCreated(); 来使用你的数据库上下文。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号