【发布时间】:2020-03-28 07:54:36
【问题描述】:
我在我的 mvc 项目中使用实体框架 6(数据库优先)。该数据库有一个名为 User 的表,其中包含名称、地址、电子邮件等列。因此,在我的项目中,我的项目中自动生成了 User.cs 类。我需要使用一些属性扩展该用户类。我应该创建它以使用此属性扩展类吗?
public partial class User
{
public bool SomeBoolProperty { get; set; }
}
如果是这样,我在哪里添加它?我尝试将其添加到名为 partials\user.cs 的文件夹下,但这样做时,在查看可用属性时,此属性不可用。
【问题讨论】:
-
你打算在哪里使用这些其他属性,在另一个层?您可能需要一个新类,该类将数据映射到绑定到数据库模型的“实体类”。
-
创建了部分类以使扩展自动生成的代码更容易。不过,细节很重要。添加一些计算属性,或者在数据层中有意义的方法可以使用部分类来完成。另一方面,添加属性只是为了在 UI 中使用它们是一个坏的想法。
-
至于在哪里添加类,就在当前类旁边,在同一个命名空间中。它们是分成两个文件的 same 类。如果您认为它们不同,则首先不应使用部分类
标签: c# partial-classes