zoukankan      html  css  js  c++  java
  • 3.2 创建模型-索引

    创建索引

    不能用特注,只能用API模式创建索引

    您可以使用 "熟知 API" 按如下方式为单个列指定索引:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .HasIndex(b => b.Url) //创建普通索引
            .HasName("Index_Url");//创建索引名称
    }
    

    您还可以为多个列指定索引:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Person>()C#
            .HasIndex(p => new { p.FirstName, p.LastName });
    }
    

    还可以指定唯一索引:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .HasIndex(b => b.Url)
            .IsUnique();
    }
    

    还可以有索引筛选器

    MSSQL 可以创建筛选索引或者部分索引,这可以使您只为列的值的一个子集编制索引,从而减少索引的大小并改善性能和磁盘使用情况;

    ``` C#
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
    modelBuilder.Entity()
    .HasIndex(b => b.Url)
    .HasFilter("[Url] IS NOT NULL");
    }

    ```
    包含列

    某些关系型数据库 MSSQL允许配置一组列,这些列包含在索引中,但不是其“键”的一部分,参考链接

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Post>()
            .HasIndex(p => p.Url)
            .IncludeProperties(p => new
            {
                p.Title,
                p.PublishedOn
            });
    }
  • 相关阅读:
    stm32ADC+DMA串口发送实验
    凑算式
    全排列
    字符串相同
    判断值相同
    插入加号求最小值
    动态规划递归—最小子段和
    动态规划-最小子段和
    进程的描述和进程的创建
    系统调用下
  • 原文地址:https://www.cnblogs.com/maanshancss/p/13360416.html
Copyright © 2011-2022 走看看