【发布时间】:2022-08-03 09:16:33
【问题描述】:
我有一个 .NET Core (6.0.1) API,它是使用带有 EF Core (6.0.1) 的 DB first 方法构建的。每当我尝试发布到特定实体时,我都会收到实体中导航属性之一的“必填字段”错误。我还有其他几个以类似方式构建的实体,它们似乎工作正常,但这一个给我带来了问题,我无法弄清楚。有任何想法吗?
来自 DBContext:
modelBuilder.Entity<InsuranceCompanyStatus>(entity =>
{
entity.HasKey(e => e.InsCoStatusId);
entity.ToTable(\"InsuranceCompanyStatus\");
entity.Property(e => e.InsCoStatusId).HasColumnName(\"InsCoStatusID\");
entity.Property(e => e.InsuranceCompanyId).HasColumnName(\"InsuranceCompanyID\");
entity.Property(e => e.State)
.HasMaxLength(2)
.IsUnicode(false)
.IsFixedLength();
entity.HasOne(d => d.InsuranceCompany)
.WithMany(p => p.InsuranceCompanyStatuses)
.HasForeignKey(d => d.InsuranceCompanyId)
.HasConstraintName(\"FK_InsuranceCompanyStatus_InsuranceCompanies\");
});
脚手架型号:
public partial class InsuranceCompanyStatus
{
public int InsCoStatusId { get; set; }
public Guid InsuranceCompanyId { get; set; }
public string State { get; set; } = null!;
public bool Admitted { get; set; }
public bool? Approved { get; set; }
public virtual InsuranceCompany InsuranceCompany { get; set; } = null!;
}
来自尝试的 POST 正文的 JSON:
{
\"insuranceCompanyId\": \"caa3e956-a3be-4670-83e3-53a6ec47731e\",
\"state\": \"AL\",
\"admitted\": true,
\"approved\": true
}
错误响应状态为 400:
{
\"type\": \"https://tools.ietf.org/html/rfc7231#section-6.5.1\",
\"title\": \"One or more validation errors occurred.\",
\"status\": 400,
\"traceId\": \"00-cf1de6fe8e4fb67a04ff7d4c8b6a1c68-f426059123424d72-00\",
\"errors\": {
\"InsuranceCompany\": [
\"The InsuranceCompany field is required.\"
]
}
}
-
很高兴看到类和映射以及发布的内容,但问题中绝不应该缺少引发异常的实际运行代码。
标签: c# .net-core entity-framework-core