EF(EntityFramework) 的 CodeFirst 使用指南一(创建)

EF(EntityFramework) 的 CodeFirst 使用指南一(创建)

创建步骤

  1. 新建一个类库,然后添加一个新项目—— ADO.NET 实体数据模型,命名为 EFModel
  2. 选择 CodeFirst 模式,具体根据是否已有数据库,选择空的还是从数据库生成
  3. 选择在字符串中包含敏感数据,并把连接设置另存为EFModelStr
  4. 根据提示进行设置,并点击下一步,完成创建

生成文件解析

生成文件可以整理为一下几个文件
这里写图片描述

EFModel.cs,访问EF实体的上下文
    public partial class EFModel : DbContext
    {
        public EFModel()
            : base("name=EFModel")
        {
        }
        public virtual DbSet<AgentConfiguration> AgentConfiguration { get; set; }
        public virtual DbSet<AgentConfigurationDetail> AgentConfigurationDetail { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<AgentConfiguration>()
                .Property(e => e.Recnum)
                .HasPrecision(18, 0);
            modelBuilder.Entity<AgentConfiguration>()
                .HasMany(e => e.AgentConfigurationDetail)
                .WithRequired(e => e.AgentConfiguration)
                .WillCascadeOnDelete(false);
            modelBuilder.Entity<AgentConfigurationDetail>()
                .Property(e => e.Recnum)
                .HasPrecision(18, 0);
        }
    }

可见,这个生成的上下文继承了 DbContext ,在构造函数中,调用的是 DbContext 的一个参数的构造函数,传入的是链接字符串的名称;这个连接字符串保存在 App.config 中
另外,还定义了这个 EF 的所有表以及一些字段属性及表关系

App.config ,里面有数据库的链接字符串设置

注意,例如我创建了一个类库,专门放置EFModel,然后再创建一个控制台应用程序,调用EFModel,那么这个连接字符串应该放置在控制台的App.config里面;
即这个链接字符串应该放在程序启动的地方

packages.config ,打包文件配置
Model 文件夹,生成的文件中,剩下的文件都是对应每一张表的实体对象,我把他们放一起
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值