C# 如何首先避免代码中重复的数据结构?
我发现自己有很多表示查找表的类,比如JobTitle和Language,它们都共享相同的结构,即C# 如何首先避免代码中重复的数据结构?,c#,.net,entity-framework,entity-framework-4.1,ef-code-first,C#,.net,Entity Framework,Entity Framework 4.1,Ef Code First,我发现自己有很多表示查找表的类,比如JobTitle和Language,它们都共享相同的结构,即 public Guid Id { get; set; } public string Name { get; set; } 如何避免重复此结构,而不引入与上述结构相同的额外属性,例如复杂类型的IdName,例如 public class Gender { public IdName Inner { get; set } } 我希望避免引用Gender.Inner.Name,而只引用Ge
public Guid Id { get; set; }
public string Name { get; set; }
如何避免重复此结构,而不引入与上述结构相同的额外属性,例如复杂类型的IdName,例如
public class Gender
{
public IdName Inner { get; set }
}
我希望避免引用Gender.Inner.Name,而只引用Gender.Name。在这种情况下,创建一个包含
Id
和Name
的基类
public class BaseEntity
{
public Guid Id { get; set; }
public string Name { get; set; }
}
您的性别将成为:
public class Gender : BaseEntity
{
...
}
要避免您不希望的映射继承,请始终遵循以下规则:
OnModelCreating
不映射BaseEntity
-只映射派生类
- 您的上下文不包含
BaseEntity
的DbSet
,仅包含派生类型
- 您没有为
BaseEntity注册EntityTypeConfiguration
如果您遵循这些规则,继承将只在您的应用程序中,而不在数据库中。谢谢@Ladislav。我从来没有想过继承只能保存在应用程序中。