C# - Entity Framework Core - 自动化数据库生成
P粉520204081
P粉520204081 2023-08-26 17:41:13
0
1
450
<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("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; } }; }</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(); 来使用你的数据库上下文。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板