如何使用Entity Framework在现有SQL Server数据库中创建表?

时间:2017-10-24 12:41:12

标签: c# sql asp.net entity-framework

我目前正在尝试在SQL Server中创建一个具有EF代码优先权的表,我只有权在现有数据库中创建表。

我无法删除整个数据库。我尝试使用迁移update-table让EF为我创建表,但因为__MigrationHistory表已经存在(并且链接到不同的表),所以这不起作用。

有没有人能解决我的问题?

1 个答案:

答案 0 :(得分:3)

您无需删除整个数据库,

添加新表的类,让我们说你的新表是" person"

public class Person
{
   public int Id { get; set; }
   public string Name { get; set; }
}

并将以下行添加到DbContext

 public DbSet<Person> Persons { get; set; }

现在您需要将此表添加到现有数据库。最简单的方法是在Visual Studio中访问Nuget Package Manager控制台(工具 - &gt; Nuget包管理器 - &gt;包管理器控制台)

type Add-Migration AddedPersonTable

这将在迁移表

中创建一个新条目
and then type Update-Database

这会将新人员表添加到现有数据库

阅读here了解有关迁移的更多信息。