zoukankan      html  css  js  c++  java
  • EFCore入门系列-概念及一对多Demo

    一、简介

    Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。

    EF Core 可用作对象关系映射程序 (O/RM),以便于 .NET 开发人员能够使用 .NET 对象来处理数据库,这样就不必经常编写大部分数据访问代码了。

    二、名词解释

    数据库迁移:

    创建数据库实体类,然后通过映射生成数据库的表
    如果修改数据库实体属性,映射对应的字段

    三、操作步骤

    1.创建/修改领域里的实体类
    2.创建迁移文件
    3.应用迁移到数据库,或生成SQL脚本

    使用迁移数据库场景:开发时

    使用生成SQL脚本:发布生产环境,生成数据库脚本,拿给DBA

    四、简单的Demo

    (1) 创建两个实体类,Province和City,对应关系:一个省市对应多个城市,一对多关系

    City类:

        public class City
        {
    
            public int Id { get; set; }
            public string Name { get; set; }
    
            public string AreaCode { get; set; }
            public int ProvinceId { get; set; }
    
            public Province province { get; set; }
             
        }

    Province类:

     public class Province
        {
            public List<City> Cityes { get; set; }
            public Province()
            {
                Cityes = new List<City>();
            }
            public int Id { get; set; }
            public string Name { get; set; }
            public int Population { get; set; }
            
        }

    (2)创建一个MyContext继承DbContext类

     public class MyContext:DbContext
        {
            public DbSet<Province> provinces { get; set; }
            public DbSet<City> cities { get; set; }
    
            protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
            {
                optionsBuilder.UseSqlServer("Server=.;Database=EFCoreDemo611;User Id=sa;Password=123");
            }
        }

    (3)执行迁移

    在Nuget包里添加如下内容:

     EntityFrameworkCore是引用DbContext,对数据库操作用的

     EntityFrameworkCore.SqlServer 是连接的数据驱动,可以换成mysql等,数据驱动可以参考官网

    https://docs.microsoft.com/zh-cn/ef/core/providers/?tabs=dotnet-core-cli

    EntityFrameworkCore.Tools是操作工具

    打开控制台:工具--->NuGet包管理器----->程序包管理控制台

    可以查看数据库操作命令,输入:get-help entityframeworkcore

    常用的红色的标注上了:Add-Migration新增或者修改数据迁移             Update-Database更新到数据库中

    输入Add-Migration新增迁移可能会出现这个问题

    原因没有设置启动项,在包含DbContext里的类库中设置为启动项

    更新到数据库中:输入Update-Database命令

    项目中会生成迁移文件

    数据库对应生成的表:

    第一个入门Demo完成

  • 相关阅读:
    Select loop
    shell学习
    硬链接与软连接的区别_(转)
    Windows 远程桌面连接Ubuntu16.04图像界面
    C# mysql 连接Apache Doris
    Hadoop 2.7.3 分布式集群安装
    ubuntu 16.04安装Chrome离线crx插件包
    RPC框架之Thrift分析(转)
    ubuntu 16.04安装ibus中文输入法
    secureCRT下linux rz命令上传文件失败或变小(破损)的问题解决方法
  • 原文地址:https://www.cnblogs.com/debugsxs223/p/13094534.html
Copyright © 2011-2022 走看看