编辑MVC3自动生成代码的最佳实践是什么?

7

如果我发错了地方,对不起,但我认为这个问题应该在这里问。

MVC3互联网应用程序使用数据库优先方法生成类。我是MVC3的新手,对C#和Visual Studio也比较陌生,尽管我有一点经验。

自动生成的代码警告说,编辑可能会导致意外的结果,并且如果重新生成代码,则更改将被删除。据我所知,这意味着更改数据库、重新运行tt文件或更新模型。

然而,修改它是否可行?只需跟踪更改以防需要重新生成,还是有更好的方法?

感谢您的任何帮助。

2个回答

11

生成的类应该是partial类,这样你就可以通过创建与命名空间和名称相同的自己的partial类来外部管理增强功能。


+1 "partial" 关键字是正确的方式,如何管理自动生成的和定制的代码。 - TcKs
谢谢,我会学习关于部分类的内容以及如何组合它们。等可以的时候我会接受的。 :) - Bohdi
如果我在名为pages.cs的类文件中有一个名为'partial class pagetest'的公共类,并且自动生成的类page被称为news_page,但也被称为'partial class pagetest',这会起作用吗?它们都在model中,都在相同的命名空间project.Models下。但是自动生成的partial类位于.edmx文件中。另一半partial类是否也需要移动到那里? - Bohdi
只要生成的类和您的自定义类共享相同的“命名空间”和名称。在您的示例中,您需要将自定义类命名为“news_page”。 - hunter

1
在模型优先方法中,使用默认的代码生成策略处理你的 EDMX 文件时,为你的 DbContextEntity 类生成的类都是部分类。
因此,根据你所做的更改类型,如果你想扩展这些生成的类,只需创建一个新的部分类,并在其中添加自定义代码。你的部分类不会被代码生成器覆盖。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接