<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Entity Framework Core基礎

      Entity Framework Core基礎

      1 什么是ORM? 有什么用?EF Core是什么?

      ORM(object relational mapping,對象關系映射),其中 “對象”指的是C#中的對象,“關系”指的是關系數據庫,“映射”指的是在關系數據庫和C#對象之間搭建一座”橋梁“。ORM可以通過C#對象的方式操作數據庫。ORM只是對ADO.NET 的封裝,ORM底層仍然是通過ADO.NET訪問數據庫的。

      EF Core是微軟官方提供的ORM框架,能夠操控多種不同類型的數據庫。開發效率高

      2 為什么EF Core被稱為“模型驅動開發” ?

      因為使用EF Core,開發人員可以從實體類的定義中自動生成數據庫表。開發人員專注于實體類模型的創建,而創建數據庫表這樣的事情交給EF Core完成。這種先創建實體類再生成數據庫表的開發模式叫“模型驅動開發”,區別與先創建表后創建實體類的“數據驅動開發”。

      EF Core這種根據實體類生成數據庫表的操作叫作“遷移”(migration)。

      3 EF Core創建表

      示例:

      1、創建Book類

      public class Book
      {
          public long Id { get; set; }// 主鍵
          public string Title { get; set; }// 書名
          public DateTime PubTime { get; set; }// 發布日期
          public double Price { get; set; }// 價格
          public string AuthorName { get; set; }// 作者名字
      }
      

      2、安裝NuGet包 Microsoft.EntityFrameworkCore.SqlServer

      3、創建一個實現了IEntityTypeConfiguration<>接口的實體類的配置類BookEntityConfig

      public class BookEntityConfig : IEntityTypeConfiguration<Book>
      {
          public void Configure(EntityTypeBuilder<Book> builder)
          {
              builder.ToTable("T_Books");// 對應數據庫的表名
              builder.Property(x => x.Title).HasMaxLength(50).IsRequired();// 設置一些限制。。。
              builder.Property(x => x.AuthorName).HasMaxLength(20).IsRequired();
          }
      }
      

      4、創建一個繼承DbContext的類TestDbContext

      public class TestDbContext : DbContext
      {
          public DbSet<Book> Books { get; set; }// Books對應T_Books表
      
          /// <summary>
          /// 數據庫連接配置
          /// </summary>
          /// <param name="optionsBuilder"></param>
          protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
          { 
              string connStr = "Server=.;Database=EFCoreDemo;Trusted_Connection=True";
              optionsBuilder.UseSqlServer(connStr);
          }
      
          protected override void OnModelCreating(ModelBuilder modelBuilder)
          {
              base.OnModelCreating(modelBuilder);
              // 加載當前程序集中所有實現了IEntityTypeConfiguration接口的類
              modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);
          }
      

      5、安裝NuGet包 Microsoft.EntityFrameworkCore.Tools

      6、在【程序包管理器控制臺】中執行Add-Migration InitialCreate,之后項目就會生成Migration文件夾下的cs代碼。這時候代碼還沒被執行

      7、需要在【程序包管理器控制臺】中執行Update-database,這樣才會應用到數據庫。

      8、查看SQL Server數據庫,可以發現T_Books表創建成功,且與實體類中的配置一致。

      9、對數據庫數據增刪改查操作的話就對Books對象操作【配合LINQ語句】

      遇到的問題(證書鏈是由不受信任的頒發機構頒發的): http://www.rzrgm.cn/dawenyang/p/12985957.html

      posted @ 2023-08-15 15:53  不愛菠蘿的菠蘿君  閱讀(193)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产偷国产偷亚洲清高网站| 亚洲中文字幕久在线| 高清破外女出血AV毛片| 国产成人亚洲精品成人区| 青草青草久热精品视频在线播放 | 99久久婷婷国产综合精品青草漫画 | 精品一区二区中文字幕| 又大又粗又硬又爽黄毛少妇| 免费无码黄十八禁网站| 国产综合久久久久久鬼色| 男女性高爱潮免费网站| 人妻出轨av中文字幕| 亚洲色拍拍噜噜噜最新网站| 欧美老熟妇又粗又大| AV秘 无码一区二| 国产av普通话对白国语| 人成午夜免费大片| 久久人妻精品大屁股一区| 亚洲成a人片在线视频| 国产高清在线精品一本大道| 黄色不卡视频一区二区三区 | 精品久久久久久无码免费 | 国产亚洲av手机在线观看| 久久亚洲中文字幕伊人久久大| 唐河县| 国产精品污双胞胎在线观看| 亚洲国产成人一区二区在线| 精品国产成人国产在线观看| 99re6这里有精品热视频| 人妻激情偷乱一区二区三区| 久久精品久久精品久久精品| 中文字幕人妻不卡精品| 蜜芽久久人人超碰爱香蕉 | 亚洲熟女少妇乱色一区二区| 国产成人精彩在线视频| 欧美人妻在线一区二区| 色欲av久久一区二区三区久| 久久综合精品国产一区二区三区无 | 国产成人8X人网站视频| 中文字幕乱码无码人妻系列蜜桃| 亚洲av成人三区国产精品|