C# - Entity Framework Core - 自动化数据库生成
P粉520204081
P粉520204081 2023-08-26 17:41:13
[MySQL讨论组]
<p>当我第一次运行我的桌面应用程序时,我想要自动创建数据库和表结构。</p><p> 我找不到任何关于EFCore等效方法的示例或文档。 </p><p> 我按照这份文档中的说明进行了所有操作: https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core-example.html </p><p> 但我仍然遇到问题:在Microsoft.Data.SqlClient.dll中抛出异常:'Microsoft.Data.SqlClient.SqlException',并且数据库为空 :( 如果您能帮助我,请告诉我。 </p><p></p> <pre class="brush:php;toolbar:false;">protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { try { optionsBuilder.UseMySQL(&quot;server=localhost;userid=root;password=topSecret;database=kartoteka-pracownicza&quot;); } catch (MySqlException ex) { switch (ex.Number) { case 0: MessageBox.Show(&quot;无法连接到服务器,请联系管理员&quot;); break; case 1045: MessageBox.Show(&quot;无效的用户名/密码,请重试&quot;); break; } }; }</pre></p>
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(); 来使用你的数据库上下文。

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

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