我在實體框架中使用Code First方法。如何刪除和創建僅在Code First - Entity Framework中更改的表格
我已經創建瞭如下的自定義數據庫初始值設定項。
public class CustomInit : IDatabaseInitializer<APIContext>
{
public void InitializeDatabase(APIContext context)
{
bool dbExists;
dbExists = context.Database.Exists();
if (dbExists)
{
// remove all tables
context.Database.ExecuteSqlCommand(
"EXEC sp_MSforeachtable @command1 = \"DROP TABLE ?\"");
// create all tables
var dbCreationScript = ((IObjectContextAdapter)
context).ObjectContext.CreateDatabaseScript();
context.Database.ExecuteSqlCommand(dbCreationScript);
context.SaveChanges();
}
else
{
throw new ApplicationException("No database is present");
}
}
}
根據上面的代碼,數據庫中的所有表都被刪除並重新創建。
我需要做的是刪除並創建表/實體,在代碼 變了樣 - 添加或刪除任何列等
反正我們能做到這一點?
任何指導,非常感謝。
爲什麼不使用[遷移](https://msdn.microsoft.com/en-us/library/jj591621(v = vs.113).aspx)? –
@ IvanR.I從未使用遷移。如果你能指導我如何實現遷移來找到我的問題的解決方案,那就太好了。謝謝 –