code first 创建数据库

CodeFirst 用中文说是代码优先,此技术可以让我们先写代码,然后由Entity Framework根据我们的代码建立数据库

接下来用学生这个例子来演示,有学生表,课程表,和成绩表三张表

首先是Model层

fee_item

public class fee_item : feemodel
    {
        public fee_item()
        {
            type = feeItemType.Normal;
        }

[Required]
        [StringLength(16, MinimumLength = 2)]
        public string name { get; set; }//缴费类型

[Required]
        [StringLength(16, MinimumLength = 8)]
        public string code { get; set; }

public feeItemType type { get; set; }

public bool State { get; set; }//是否启用
    }

[Key]表示在数据库中该字段为主键,[Required]表示不为空,[StringLength]也就是长度了

这一步完成之后,我们要建立一个StudentInfoEntities的类,这个类要继承自DbContext,而DbContext类在System.Data.Entity命名空间下,需引用EntityFramework.dll类库,

如安装不了,可以去Visual Studio Gallery下载,其实,只需要引用一个叫做Entity Framework的dll类库即可

FeeDbContext类

public FeeDbContext() : base("FeeDbContext") { }//base("FeeDbContext")连接数据库

public DbSet<organization> organization { get; set; }
        public DbSet<org_fee> org_fee { get; set; }
        public DbSet<fee_item> fee_item { get; set; }
        public DbSet<item_fee_time> item_fee_time { get; set; }
        public DbSet<bill_power> bill_power { get; set; }
        public DbSet<bill_net> bill_net { get; set; }
        public DbSet<bill_cet46> bill_cet46 { get; set; }
        public DbSet<bill_insurance> bill_insurance { get; set; }
        public DbSet<bill_tuition> bill_tuition { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            //modelBuilder.Ignore<LookupSignType>();
        }


可以加一些默认值进去

        public void Initialize(FeeDbContext context)
        {
            List<dept> depts = new List<dept>() {
                new dept(){oid=1, name="新中新集团", state=true},
                new dept(){oid=2, name="山东大学", state=true},
                new dept(){oid=3, name="浙江大学", state=true},
                new dept(){oid=4, name="同济大学", state=true}
            };
            List<organization> orgs = new List<organization>() {
                new organization(){oid=1, name="新中新集团", state=true},
                new organization(){oid=2, name="山东大学", state=true},
                new organization(){oid=3, name="浙江大学", state=true},
                new organization(){oid=4, name="同济大学", state=true}
            };

            //depts.ForEach(o => context.dept.Add(o));
            orgs.ForEach(o => context.organization.Add(o));
            context.SaveChanges();
        }

最后

public void Build()
        {
            try
            {
                var context = new FeeDbContext();
                if (!context.Database.Exists())
                {
                    new List<IDataInitializer<FeeDbContext>>() { 
                        new DataInit4dept()
                    }.Setup<FeeDbContext>(context);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("数据库初始化报错:" + e.Message);
                throw e;
            }
        }


点击调试,触发一下,查看数据库

时间: 2024-07-31 09:37:20

code first 创建数据库的相关文章

三、Dotnet Core Code First 创建数据库

1.在项目中创建Models文件夹2.在Models文件夹中建立 表的属性类:如 User类.3.在Models文件夹创建DataContext 继承DbContext类(可以选择重写OnModelCreating方法) public DbSet<表类名> 重明名 {get:set:} public DataContext(DbContextOption<DataContext> option):(option){} protected override void OnModelC

【无私分享:ASP.NET CORE 项目实战(第四章)】Code First 创建数据库和数据表

目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来介绍下Asp.net Core 使用 CodeFirst 创建数据库和表,通过 控制台 和 dotnet ef 两种方式 修改EF上下文对象,添加测试类 我修改了一下名字,Domains 改为了 wkmvc.Data 我们新建一个文件夹 Models 用于存放 模型类 我们在Models下面再新建一个文件夹SysModelsMange 用于区域模型类 我们新建一个测试类SYS_USER namespace wkm

asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库(本来想数据迁移 没有成功,只能将标题搞成这个。)

1.首先下载vs2015的Asp.Net Core(RC2)的插件工具(https://www.microsoft.com/net/core#windows)2.创建一个asp.net Core的项目,这里我创建一个最简单的项目,就是一个console,在这个基础上我准备一步一步搭建一个Asp.Net Core的项目 3.添加相关的依赖(mvc的依赖和EF的依赖)在projecr.json中: { "dependencies": { "Microsoft.NETCore.Ap

【无私分享:ASP.NET CORE 项目实战(第五章)】Code First 创建数据库和数据表

目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来介绍下Asp.net Core 使用 CodeFirst 创建数据库和表 修改EF上下文对象,添加测试类 我修改了一下名字,Domains 改为了 wkmvc.Data 我们新建一个文件夹 Models 用于存放 模型类 我们在Models下面再新建一个文件夹SysModelsMange 用于区域模型类 我们新建一个测试类SYS_USER namespace wkmvc.Data.Models  { public

EF Code First Migrations数据库迁移

http://www.cnblogs.com/libingql/p/3330880.html 1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramework. PM> Install-Package EntityFramework 安装成功后,界面提示如下图: 在新建的Portal控制台应用程序中添加两个实体类,代码结构如下: 其中,类文件PortalCo

【EF】EF Code First Migrations数据库迁移

1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramework. PM> Install-Package EntityFramework 安装成功后,界面提示如下图: 在新建的Portal控制台应用程序中添加两个实体类,代码结构如下: 其中,类文件PortalContext.cs的代码如下: using System; using System.Colle

创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添加一个User类: namespace MyFirstApp.Models { public class User { public int ID { get; set; } public string Name { get; set; } public string Email { get; se

使用Entity Framework通过code first方式创建数据库和数据表

开发环境 WIN10 Entity Framework6.0  MVC5.0  开发工具 VS2015  SqlServer2012 1.创建上下文Context继承DbContext,并创建其他的业务类,这些业务类会创建对应的数据表. 1 public class AccountContext:DbContext 2 { 3 public AccountContext():base("AccountContext") { } 4 public DbSet<SysUser>

20150929创建数据库,表,增删改查

create database xuankeData --创建数据库go--连接符use xuankeData --使用某数据库go --创建表create table student( coude int not null, name varchar(20), sex int not null, height decimal(18,2)) --添加数据insert into student values(2,'李四',1,105.00) --查询数据select *from student -