2016-01-06 76 views
1

我刚刚提出了C#rest API的解决方案。在web项目下的解决方案中,我有一个Migration文件夹,其中包含若干.cs文件以在数据库中创建表。命令来运行实体框架.cs文件来创建数据库表

这些文件类似于84618186***_InititalCreate,68686186***_AddXyz,86454186***_ExtendXyz。我完全不了解实体框架。

我试过Add-Migration命令,但它添加了一个文件。 Update-database向数据库添加了一些表格,但其余表格仍未创建。我对此的一点经验是,必须有一个命令从所有这些文件中创建SQL Server中的表。

所以我只想知道如何去做。参考堆栈上的任何特定链接也会帮助我搜索了半个小时,但没有找到任何有用的信息。

+1

'更新-database'是命令.... –

+0

'我试图加载迁移命令,但它增加了一个file.'这正是它应该做的事。该文件包含对数据库执行的命令,并且还用于在“迁移”表中创建记录。 –

+0

那么你是想从现有的迁移中创建一个新的数据库还是更新现有的数据库来匹配当前的代码模型? –

回答

0

如果要创建新数据库,请将连接字符串更改为指向新的空数据库。然后,你可以创建一个幂等脚本,就能把所有的迁移走,并将其应用:

Update-Database -Script -SourceMigration: $InitialDatabase 

https://msdn.microsoft.com/en-us/data/jj591621.aspx?f=255&MSPPError=-2147217396#idempotent

另一种方法是到数据库初始化暂时更改为一个,再现像DropCreateDatabaseAlways然后切换数据库回来了。

http://blog.oneunicorn.com/2013/05/28/database-initializer-and-migrations-seed-methods/