• 默认值
    • 惯例
    • 数据注解
    • 流式 API

    默认值

    注意

    当前章节中涉及的配置一般适用于关系数据库。这里展示的扩展方法在你安装了关系数据库提供程序之后就能获得(由Microsoft.EntityFrmeworkCore.Relational 程序包共享)。

    数据列的默认值是插入一个数据行但未指定该列的值时所插入的值。

    惯例

    按照惯例不会配置默认值。

    数据注解

    不能使用数据注解来设置默认值。

    流式 API

    可以使用流式 API 来为属性设置默认值。

    1. class MyContext : DbContext
    2. {
    3. public DbSet<Blog> Blogs { get; set; }
    4. protected override void OnModelCreating(ModelBuilder modelBuilder)
    5. {
    6. modelBuilder.Entity<Blog>()
    7. .Property(b => b.Rating)
    8. .HasDefaultValue(3);
    9. }
    10. }
    11. public class Blog
    12. {
    13. public int BlogId { get; set; }
    14. public string Url { get; set; }
    15. public int Rating { get; set; }
    16. }

    还可以指定用于计算默认值的 SQL 语句。

    1. class MyContext : DbContext
    2. {
    3. public DbSet<Blog> Blogs { get; set; }
    4. protected override void OnModelCreating(ModelBuilder modelBuilder)
    5. {
    6. modelBuilder.Entity<Blog>()
    7. .Property(b => b.Created)
    8. .HasDefaultValueSql("getdate()");
    9. }
    10. }
    11. public class Blog
    12. {
    13. public int BlogId { get; set; }
    14. public string Url { get; set; }
    15. public DateTime Created { get; set; }
    16. }