带有EF6的WPF应用程序未在SQL Server Enterprise中创建新数据库

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

我正在处理WPF应用程序,并且首先将实体框架6代码用于数据库,但是当我运行该应用程序时,未在SQL Server Enterprise中创建数据库。我在Google上搜索了很多,但找不到适合的解决方案,在此先感谢大家。

下面是我的App.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <configSections>
       <!-- For more information on Entity Framework configuration, visit 
       http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework"
      type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, 
       Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
      requirePermission="false"/>    
   </configSections>

   <connectionStrings>
         <add name="DbConnectionString" connectionString="Data Source=.;Initial 
         Catalog=CricketAcademy;Integrated Security=True;" providerName="System.Data.SqlClient" />
   </connectionStrings>


   <startup> 
       <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
   </startup>
   <entityFramework>
       <providers>
           <provider invariantName="System.Data.SqlClient" 
           type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
       </providers>
   </entityFramework>
  </configuration>  

这是我的上下文类:

class Db : DbContext
{
    public Db() : base("name=DbConnectionString")
    {

    }
    public DbSet<Player> Players { get; set; }
    public DbSet<Player_Phone> PlayerPhones { get; set; }
    public DbSet<Admission> Admissions { get; set; }
    public DbSet<Fee> Fees { get; set; }
    public DbSet<Coach> Coaches { get; set; }
    public DbSet<Shift> Shifts { get; set; }

}  

这是我的MainWindow类:

public partial class MainWindow : Window
{
    private Db DB = new Db();
    public MainWindow()
    {
        InitializeComponent();
    }

    private void button_Click(object sender, RoutedEventArgs e)
    {

    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {

    }
}
c# wpf entity-framework code-first
1个回答
0
投票

添加DbContext的构造函数:

public Db() : base("name=DbConnectionString")
{
      Database.SetInitializer<Db>(new CreateDatabaseIfNotExists<Db>());
}

您可以找到更多信息in this article

© www.soinside.com 2019 - 2024. All rights reserved.