所以我负责为我们的客户制作一个 EF Datalayer,但是每个人都有不同版本的数据库,具体取决于他们是否支付维护费用和其他因素。
在下面查看每个版本中的一些属性, 其他是特定版本及更高版本。 有没有办法动态打开和关闭属性? 使用默认值会使事情复杂化。 我知道我可以有多个 DbContexts,每个 DbContexts 都有这个类的不同版本,但我试图找到一种更易于管理的动态方法
public partial class User : AbstractBase
{
public User()
{
}
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public virtual int Id { get; set; } // ALL VERSIONS
[Required]
[StringLength(100)]
[Column(TypeName = "varchar")]
public virtual string FirstName { get; set; } // ALL VERSIONS
[StringLength(100)]
[Column(TypeName = "varchar")]
public virtual string MiddleName { get; set; } // ALL VERSIONS
[Required]
[StringLength(100)]
[Column(TypeName = "varchar")]
public virtual string LastName { get; set; } // ALL VERSIONS
[Required]
[StringLength(300)]
[Column(TypeName = "varchar")]
public virtual string NetworkId { get; set; }
[Required]
[StringLength(250)]
[Column(TypeName = "varchar")]
public virtual string EmailAddress { get; set; } // ALL VERSIONS
public virtual DateTime CreatedDate { get; set; } // ALL VERSIONS
public virtual DateTime UpdatedDate { get; set; } // ALL VERSIONS
public virtual bool ActiveFlag { get; set; } // version 5 > and up
public virtual int DefaultLocationId { get; set; } // version 5.5 > and up
[StringLength(15)]
public virtual string PhoneNumber { get; set; } // version 6 > and up
}