我正在尝试创建一个带有表的数据库,但它没有创建它。我通过创建一个 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");
}
}
}