实体框架动态架构/类属性

时间:2021-06-07 23:22:34

标签: entity-framework entity-framework-core entity-framework-6

所以我负责为我们的客户制作一个 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
    }

0 个答案:

没有答案