用EF初始化数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010994112/article/details/52175696

如今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中所出的位置如下:


阅读更多
换一批

没有更多推荐了,返回首页