【发布时间】:2019-12-08 17:42:22
【问题描述】:
更新到 Dotnet Core 3.1 并移植我的代码我发现在我的 DbContext 中出现以下错误:
“PropertyBuilder”不包含定义 'HasDefaultValue' 并且没有可访问的扩展方法 'HasDefaultValue' 接受“PropertyBuilder”类型的第一个参数可能是 找到(您是否缺少 using 指令或程序集引用?)
发生这种情况的代码如下:
modelBuilder.Entity<Tenant>().Property(t => t.TenantNo).HasMaxLength(20);
modelBuilder.Entity<Tenant>().Property(t => t.CompanyName).HasMaxLength(100).IsRequired();
modelBuilder.Entity<Tenant>().Property(t => t.ContactLastName).HasDefaultValue(false).IsRequired();
modelBuilder.Entity<Tenant>().Property(t => t.Email).HasMaxLength(500).IsRequired();
modelBuilder.Entity<Tenant>().Property(t => t.MobilePhone).HasMaxLength(20).IsRequired();
modelBuilder.Entity<Tenant>().Property(t => t.OfficePhone).HasMaxLength(20);
modelBuilder.Entity<Tenant>().Property(t => t.CompanyEmail).HasMaxLength(500);
modelBuilder.Entity<Tenant>().Property(t => t.Address1).HasMaxLength(500);
modelBuilder.Entity<Tenant>().Property(t => t.Address2).HasMaxLength(500);
modelBuilder.Entity<Tenant>().Property(t => t.ABN).HasMaxLength(14);
modelBuilder.Entity<Tenant>().Property(t => t.Database).HasMaxLength(100).IsRequired();
modelBuilder.Entity<Tenant>().Property(t => t.IsLocked).HasDefaultValue(false);
我曾经在哪里使用过 .HasDefaultValue 我收到此错误。我相信,我有所有必需的指令......
using JobsLedger.CATALOG.Entities;
using Microsoft.EntityFrameworkCore;
using System.Threading;
using System.Threading.Tasks;
似乎在从 3.0 升级到 3.1 时他们错过了这一点,或者他们正在使用不同的方式设置默认值..
所以在我发布这篇文章之前,我做了一个谷歌搜索和一个 Stackoverflow 搜索,但没有结果。
想知道有人会建议如何在 3.1 中设置默认值?
【问题讨论】:
-
不要对
Entity Framework Core问题使用Entity Framework标签(它甚至在标签描述中明确指出)。 -
为此道歉.. S.