参考:https://www.cnblogs.com/hblc/p/12331424.html
第一步,先创建数据库模型。
public class User { //主键 [Key] //自增 [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int ID { get; set; } //列索引 [Column(Order = 1)] //不为空 [Required] //数值长度 [StringLength(50)] public string 名称 { get; set; } }
第二步:添加EF框架
public class CreateDataBase : DbContext { //您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config) //使用“CreateDataBase”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的 //“EditForm.Model.CreateDataBase”数据库。 // //如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“CreateDataBase” //连接字符串。 //使用自定义连接串 public static string GetConstr() { string connString = ConfigurationManager.ConnectionStrings["CreateDataBase"].ToString(); return connString; } public CreateDataBase() : base(GetConstr()) { //模型更改时重新创建数据库 Database.SetInitializer(new MigrateDatabaseToLatestVersion<CreateDataBase, ReportingDbMigrationsConfiguration>()); this.Configuration.AutoDetectChangesEnabled = false; this.Configuration.ValidateOnSaveEnabled = false; this.Configuration.LazyLoadingEnabled = false; this.Configuration.ProxyCreationEnabled = false; } internal sealed class ReportingDbMigrationsConfiguration : DbMigrationsConfiguration<CreateDataBase> { public ReportingDbMigrationsConfiguration() { AutomaticMigrationsEnabled = true;//任何Model Class的修改將会直接更新DB AutomaticMigrationDataLossAllowed = true; } } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); //modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//这句是不要将EF生成的sql表名不要被复数 就是表名后面不要多加个S } public virtual DbSet<Model> Model { get; set; }
}