从 EF Core 3.1 通过代码优先创建视图

Create View by Code First from EF Core 3.1

我想通过 Code First 在 EF Core 中创建 sql 类似 table 的视图。我怎样才能做到这一点?你能帮帮我吗?

这可以帮助你

实体:

public class Personel  
{
    public string Name { get; set; }
}

数据库上下文:

public DbSet<Personel> Personels { get; set; }

关于创建模型:

builder.Entity<Personel>(eb => {
    eb.HasNoKey();
    eb.ToView("View_Personel");
    eb.Property(v => v.Name).HasColumnName("Name");
});

Add-Migration

migrationBuilder.Sql("
    CREATE VIEW View_Personel AS
        SELECT MatchValue AS Name
        FROM Personel");

此外,您可以通过Code First(而非DBFirst)使用SQL Method Procedure、Materialized View等进行创建。