用EF初始化数据库

来源:互联网 发布:中文域名管理 编辑:程序博客网 时间:2024/05/16 11:55

如今ORM(对象关系映射)盛行,确实通过ORM来操作数据库减轻了程序员的编码量,EF为微软大型的ORM框架,有必要学习一下如何使用

用模型优先的方式建立数据库

主要用于ASP.NET MVC模式中EntityFramework来建立数据库,在此主要介绍关键步骤

1、首先需要新建文件夹Models来承载模型类

2、新建文件夹DAL来承载EF相关类,DemoContext类,DemoInitializer类


3、用NuGet包来安装EF,命令为:install-package entityframework


4、完善DemoContext(数据库上下文对象)类与DemoInitializer(数据库初始化对象)类

 //DemoContext类 public class DemoContext: DbContext {        public DemoContext()            : base("DemoContext") {        }        #region 表集        public DbSet<TestModel> TestModel{ set; get; }        #endregion        protected override void OnModelCreating(DbModelBuilder modelBuilder) {            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();        }    }


//DemoInitializer类 public class DemoInitializer: DropCreateDatabaseIfModelChanges<DemoContext> {        DemoContext db = new DemoContext();        protected override void Seed(DemoContext context) {            db.Admin.Add(new Admin { UserName = "zhanghonglei", Password = "123", RealName = "张洪磊", CreateTime = DateTime.Now });            db.SaveChanges();        }    }
5、配置web.config文件

 // 数据库连接字符串<connectionStrings>    <add name="UCCContext" connectionString="Data Source=.;database=UCCDB;uid=sa;pwd=******;Integrated Security=True" providerName="System.Data.SqlClient" />    <!--<add name="UCCContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\UCCDB.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>-->  </connectionStrings>
该节点在web.config中所出的位置如下:

 //EF的context <contexts>      <context type="UCC.DAL.UCCContext,UCC" disableDatabaseInitialization="true">        <databaseInitializer type="UCC.DAL.UCCInitializer,UCC" />      </context>    </contexts>
该节点在web.config中所出的位置如下:


0 0