C# 部分类一致性

C# 部分类一致性,c#,class,partial,C#,Class,Partial,我正在使用一个MVC3C应用程序。我正在将模型扩展到一个分部类,以包含一些数据注释… 我担心的是我有数百个表,而项目正处于开发阶段,这意味着如果其他开发人员甚至我自己更改相应的模型,我手动创建的部分类很容易过时。。(数据类型、命名等) 那么,有没有办法保证我的部分类与EF模型正确匹配? 另一件值得赞赏的事情是类似于部分类生成器的东西,它将在模型上选择相应的数据类型和名称,并自动创建部分类。这更是一个设计问题,如果您的扩展类在底层数据模型更改时被破坏,那么我不认为这是正确使用分部类 这很简单,如果

我正在使用一个MVC3C应用程序。我正在将模型扩展到一个分部类,以包含一些数据注释…

我担心的是我有数百个表,而项目正处于开发阶段,这意味着如果其他开发人员甚至我自己更改相应的模型,我手动创建的部分类很容易过时。。(数据类型、命名等)

那么,有没有办法保证我的部分类与EF模型正确匹配?


另一件值得赞赏的事情是类似于部分类生成器的东西,它将在模型上选择相应的数据类型和名称,并自动创建部分类。

这更是一个设计问题,如果您的扩展类在底层数据模型更改时被破坏,那么我不认为这是正确使用分部类

这很简单,如果底层模型发生了变化,单元测试就会失败,而且很可能您的系统无论如何都无法编译


我不明白您对部分类生成器的期望是什么,它如何知道您对系统的期望行为?

我的方法是使用ViewModels。因此,我不直接将我的EF模型映射到我的视图上,我使用这些视图模型并将所有的数据注释属性放在那里(例如
DisplayName
)。

你具体说的“分部类与EF模型正确匹配”是什么意思?当我陈述EF模型时,我指的是概念实体模型,我有我所有的实体。。我无法创建数据批注,因为每当我更改数据库上的任何内容时,设计器文件将被销毁并自动生成,所以我创建了具有相同属性的分部类。。所以我关心的是让这个部分类等于概念模型。。因为如果没有,它将不起作用。哦,你想手动创建EM模型代码并生成EF模型代码吗?不确定你对EM模型的意思是什么。我使用典型的ADO.NET实体数据模型,然后直观地添加实体。。等之后,将在模型内创建designer.cs。然后我创建了分部类,因为这段代码总是被重新生成的,我希望有我的“数据注释”。让我试着用另一种方式来解释:我有一个ADO.NET实体数据模型,我从数据库中添加了一个表,下一步是:Visual Studio自动生成designer.cs。因此,对于这个类,我需要添加一个数据注释,然后创建一个分部类,因为我无法更改designer.cs文件。。现在一切都正常了,所以我的问题是:有没有自动创建这些部分的基本结构?因为我有几百张桌子。。如果知道主类(来自模型)可以更改,那么数据库也可以更改,我又如何保证安全..你在做什么样的注释?请参阅我对上面Ketchup的回复。。非常感谢。