Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 如何在实体框架中使用代码优先而不迁移的数据库模式更改_Entity Framework_Entity Framework 6_Entity Framework 6.1 - Fatal编程技术网

Entity framework 如何在实体框架中使用代码优先而不迁移的数据库模式更改

Entity framework 如何在实体框架中使用代码优先而不迁移的数据库模式更改,entity-framework,entity-framework-6,entity-framework-6.1,Entity Framework,Entity Framework 6,Entity Framework 6.1,我现在不想使用迁移,而是先使用代码 当我使用modelbuilder和Fluent API创建具有数据库属性的新表时 我怎么说“立即应用更改”。第一个查询访问数据库时是否执行更改?或者还有其他更好的方法吗?有多种方法可供您选择。您选择使用哪一个取决于您的总体发展目标 初始值设定项是最灵活的选项,它使您能够以增量方式添加到模型中。这种“迁移”过程有时也称为“数据移动” 您可以使用的另一个选项是,这是默认策略。在这个策略中,当您第一次访问任何需要数据库访问的类时,如果数据库不存在,就会创建它。如果数

我现在不想使用迁移,而是先使用代码

当我使用modelbuilder和Fluent API创建具有数据库属性的新表时

我怎么说“立即应用更改”。第一个查询访问数据库时是否执行更改?或者还有其他更好的方法吗?

有多种方法可供您选择。您选择使用哪一个取决于您的总体发展目标

初始值设定项是最灵活的选项,它使您能够以增量方式添加到模型中。这种“迁移”过程有时也称为“数据移动”

您可以使用的另一个选项是,这是默认策略。在这个策略中,当您第一次访问任何需要数据库访问的类时,如果数据库不存在,就会创建它。如果数据库已经存在,则不会发生任何事情。如果数据库的模式与模型不匹配,则事务将失败并引发错误

另一个流行的初始值设定项是。这是
IDatabaseInitializer
的一个实现,仅当数据库创建后模型发生更改时,才会删除、重新创建数据库,并可以选择重新为数据库设定种子


最后,你有。正如您所料,这是
IDatabaseInitializer
的一个实现,它将始终在应用程序域中首次使用上下文时重新创建数据库并可选地重新为数据库设定种子。

code-first和迁移不是彼此独占的。这意味着我必须同时使用它们?不。。。他们做的事情不一样,所以用一个并不意味着你不能用另一个,正如你的问题所暗示的那样。好吧,那么应用更改的方法是什么呢?