我们可以在另一个存储库中继承存储库吗#

时间:2014-01-27 12:34:01

标签: c#

我是Repository Pattern的新手并尝试在我的项目中使用它。我的项目中有以下实体:

  • 用户配置
  • UserTypeA
  • UserTypeB
  • UserTypeC

我有3种类型的用户和UserProfile,其中包含有关密码,用户名等所有三种类型的一般信息。还有许多其他实体,每种类型的用户与其他实体有不同类型的关系。现在我决定为此创建以下存储库模式:

public class UserProfileRepository
{
 ....
}

public class UserTypeAReository: UserProfileRepository
{
 .....
}

public class UserTypeBReository: UserProfileRepository
{
 .....
}

public class UserTypeCReository: UserProfileRepository
{
 .....
}

所以我想知道这是(存储库继承)是否遵循良好做法还是还有其他更好的方法吗?

修改

1到0..1共享主键关系 b / w UserProfile和(UserTypeA,UserTypeB和UserTypeC)

1 个答案:

答案 0 :(得分:0)

根据您要实现的目标,您还可以使用InterfaceAbstract Class

如果您希望所有课程都有普通合同,但每种方法的实施方式不同,那么您可以使用Interface,这样可以提供更大的灵活性使用C# 多接口继承 v singe class inheritance

使用Abstract class,您可以设置方法以及实现,但允许派生类覆盖基本实现。

此SO帖子也可能有所帮助:Interface vs Base class