gpt4 book ai didi

entity-framework-4.1 - Entity Framework 4.1 自定义数据库初始化器策略

转载 作者:行者123 更新时间:2023-12-01 15:11:37 24 4
gpt4 key购买 nike

我想实现自定义数据库初始化策略,以便我可以:

  • 如果不存在则生成数据库
  • 如果模型更改仅创建新表
  • 如果模型更改,则仅创建新字段,而不会删除表并丢失数据。

提前致谢

最佳答案

您需要实现 IDatabaseInitializer界面。

例如

public class MyInitializer : IDatabaseInitializer<MyDbContext>
{
public void InitializeDatabase(MyDbContext context)
{
//your logic here
}
}

然后在应用程序启动时设置初始化程序

Database.SetInitializer<ProductCatalog>(new MyInitializer());

这是一个example

您必须手动执行命令来更改数据库。

context.ObjectContext.ExecuteStoreCommand("ALTER TABLE dbo.MyTable ADD NewColumn VARCHAR(20) NULL");

您可以使用类似 SQL Compare 的工具脚本更改。

关于entity-framework-4.1 - Entity Framework 4.1 自定义数据库初始化器策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com