【问题标题】:How do I set a default value on a bit field using Entity Framework Core code-first?如何使用 Entity Framework Core 代码优先在位字段上设置默认值?
【发布时间】:2017-10-08 11:48:42
【问题描述】:

这是我的代码:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Skill>()
        .Property(s => s.FlagTrainedOnly)
        .HasDefaultValue(false);
}

我得到的错误:

错误 CS1061
“PropertyBuilder”不包含“HasDefaultValue”的定义,并且找不到接受“PropertyBuilder”类型的第一个参数的扩展方法“HasDefaultValue”(您是否缺少 using 指令或程序集引用?)

【问题讨论】:

  • Ctrl+dot 有什么建议吗?喜欢using Microsoft.EntityFrameworkCore;?还要确保您引用了Microsoft.EntityFrameworkCore.Relational 程序集。
  • 修复了它。我没有引用关系(显然我的 EF Core 没有更新)。

标签: c# asp.net-core entity-framework-core


【解决方案1】:

确保你有

using Microsoft.EntityFrameworkCore;

在顶部,然后尝试像这样放在一行

protected override void OnModelCreating(ModelBuilder modelBuilder) {
    modelBuilder.Entity<Skill>().Property(p => p.FlagTrainedOnly).HasDefaultValue(false);
}

然后把它放在多行上。我认为有时需要提醒一下,点扩展是存在的。

【讨论】:

  • 不起作用。我还收到一个错误,即 PropertyBuilder&lt;int&gt; 没有使用 EF Core 2.1.4 的 HasDefaultValue 定义。奇怪。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-29
  • 2022-11-17
  • 1970-01-01
  • 2016-08-06
  • 1970-01-01
  • 2018-02-24
  • 2019-04-17
相关资源
最近更新 更多