基本的に、エンティティを格納するテーブルに明らかに含めたい変数を持つ親を持つエンティティを作成しました。
親の定義は次のとおりです。
public class ProtectedProperty
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int PropertyId { get; set; }
[Required]
public string SubId { get; set; }
public int Downloads { get; set; }
[Required]
public UserProfile Owner { get; set; }
[Required]
public string Name { get; set; }
[Required]
public ProtectedPropertyType Type { get; set; }
}
親から継承するプロパティは次のとおりです (これには DB にテーブルがあります)。
[Table("ProtectedPassword")]
public class ProtectedPassword : ProtectedProperty
{
[Required]
//[StringLength(maximumLength:56)]
[MinLength(3)]
[MaxLength(20)]
public string Password { get; set; }
public ProtectedPassword(string name, UserProfile owner, string password)
{
Name = name;
Owner = owner;
Password = password;
SubId = PublicUtility.GenerateRandomString(8, 0);
Type = ProtectedPropertyType.Password;
}
ただし、問題は、DB のテーブル定義を見ると、ProtectedPassword の 2 つのプロパティ (Password と PropertyId) しか表示されないことです。
他の変数 (所有者、名前など) も含めたいと思います。