Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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_Code First_Web Deployment - Fatal编程技术网

Entity framework 如何区分不同环境下的初始化方法

Entity framework 如何区分不同环境下的初始化方法,entity-framework,code-first,web-deployment,Entity Framework,Code First,Web Deployment,我第一次接触EF代码 我在一个项目中创建了初始值设定项类,该类派生自CreateDatabaseIfNotExists、DropCreateDatabaseIfModelChanges、DropCreateDatabaseAlways或自定义DB初始值设定项 我将DropCreateDatabaseIfModelChanges用于开发目的,它可以在模型更改时重新创建数据库,并在开发过程中提供帮助,但现在是时候部署到QA和最终的生产环境了 我的想法是为了发展而保留这个 namespace Mode

我第一次接触EF代码

我在一个项目中创建了初始值设定项类,该类派生自CreateDatabaseIfNotExists、DropCreateDatabaseIfModelChanges、DropCreateDatabaseAlways或自定义DB初始值设定项

我将DropCreateDatabaseIfModelChanges用于开发目的,它可以在模型更改时重新创建数据库,并在开发过程中提供帮助,但现在是时候部署到QA和最终的生产环境了

我的想法是为了发展而保留这个

namespace Models
{
    public class SchoolInitializer : DropCreateDatabaseIfModelChanges<SchoolContext>
    {
        protected override void Seed(SchoolContext context)
        {
        }
    }
 }
用于质量保证或生产

namespace Models
{
    public class SchoolInitializer : CreateDatabaseIfNotExists<SchoolContext>
    {
        protected override void Seed(SchoolContext context)
        {
        }
    }
 }
如何使用app.config文件实现此目标。因此,当我发布QA或发布时,它应该会自动更改

谢谢。

使用该软件包,它使您能够转换app.config


有关如何进行转换的示例:

当我可以使用visual studio发布而不使用slowcheetha时,为什么需要slowcheetha,就像我使用configuration Manager对连接字符串所做的那样。我无法在此上载图片。如果发布依赖于app.config的项目,则需要SlowCheetah来执行转换,因为Visual Studio仅支持web.config转换。微软正致力于在VS2015中添加类似的支持。在VS2013中,右键单击app.config并选择Add Transform实际上会自动包含SlowCheetah。好的,你能告诉我如何实现上述usng app.config吗。我以后会了解斯洛雪塔。我需要做哪些更改,以便它可以在app.config中查看,而不是在模型名称空间中写入。谢谢。我在原始答案中链接到了。