Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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
C# 在实体框架中从ObjectContext迁移到DbContext时部分的代码放置策略_C#_Entity Framework_Ef Database First - Fatal编程技术网

C# 在实体框架中从ObjectContext迁移到DbContext时部分的代码放置策略

C# 在实体框架中从ObjectContext迁移到DbContext时部分的代码放置策略,c#,entity-framework,ef-database-first,C#,Entity Framework,Ef Database First,我有一个旧的ASP.NET项目,正在从MVC3/EF43更新为MVC5/EF6 MVC部分非常成功 但是,EF部分不是很好,我正在寻找自定义分部类的代码放置策略,以便生成的代码不会覆盖我的自定义代码 在EF43下,项目使用Database first和T4模板以及ObjectContext。对于给定的Models/Model1.edmx和相关的Models/Model1.tt,所有代码都是在Models/Model1.cs中生成的 在迁移到EF6并继续使用Database first和T4模板的

我有一个旧的ASP.NET项目,正在从MVC3/EF43更新为MVC5/EF6

MVC部分非常成功

但是,EF部分不是很好,我正在寻找自定义分部类的代码放置策略,以便生成的代码不会覆盖我的自定义代码

在EF43下,项目使用Database first和T4模板以及ObjectContext。对于给定的Models/Model1.edmx和相关的Models/Model1.tt,所有代码都是在Models/Model1.cs中生成的

在迁移到EF6并继续使用Database first和T4模板的过程中,我决定迁移到DbContext。一个副作用是,我现在有了一个Models/Model1.Context.tt和一个“Models/Model1.Context.cs”,并且为.edmx中的每个模型将各个文件写入Models`中,用生成的POCO覆盖以前声明的部分类


我需要采用一种策略,生成的POCO不会覆盖我的部分,我正在寻找解决方案。

我采用的策略是将我的部分重命名为Models/.Partial.cs,但保持原始文件相对不变

这允许生成的POCO和我的分区存在于同一目录中

因为生成的POCO已经覆盖了我的部分,我关闭了VS,通过Git恢复了所有被覆盖的模型,并重命名了它们。然后我可以重新启动VS,并保存.edmx以重新生成POCO。我还必须包括重命名的文件,因为它们在VS的外侧重命名。如果它们包含在.edmx文件下,VS将阻止POCO文件的重命名