实体框架不会创建数据库问题

时间:2021-01-15 10:03:31

标签: sql-server database entity-framework

我正在尝试创建一个带有表的数据库,但它没有创建它。我通过创建一个 dbContext 类并在 App.config 中放置一个连接字符串来完成所有工作,我为表创建了一个模型。每次我运行程序时,它都会运行一段时间然后停止,然后当我想检查我的数据库是否创建了数据库时,它没有。

这是我的代码和 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>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
    </startup>
    <entityFramework>
        <providers>
            <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
        </providers>
    </entityFramework>
  <connectionStrings>
    <add name="EFNetflixAssignment" providerName="System.Data.SqlClient" connectionString="server=DESKTOP-L8MRTTF; initial catalog=EFNetflix; integrated security=true"/>
  </connectionStrings>
</configuration>

这里是数据库上下文

 public class DatabaseContext : DbContext
    {
        public virtual DbSet<Classifications> Classifications { get; set; }

        public DatabaseContext() : base("EFNetflixAssignment")
        {
            Database.SetInitializer(new DropCreateDatabaseAlways<DatabaseContext>());
        }
    }

我的模型类

 public class Classifications
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Required]
        public int id { get; set; }
        [Required]

        [MaxLength(250)]
        public string Classification { get; set; }
    }

我的主班

 class Program
    {
        static void Main(string[] args)
        { 
            AddClassifications("Test");
        }


        private static void AddClassifications (string name)
        {
            try
            {
                var classification = new Classifications() { Classification = name};
                using (var dbContext = new DatabaseContext())
                {
                    dbContext.Classifications.Add(classification);
                    dbContext.SaveChanges();

                    Console.WriteLine("Added classification: " + name);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Could not add classification");
            }
        }
    }

0 个答案:

没有答案