我已完成以下配置。
public class ProductEligibiltyConfiguration : EntityTypeConfiguration<ProductEligibilty>
{
public ProductEligibiltyConfiguration()
{
HasKey(t => t.Id).ToTable("ecom_ProductEligibilty");
HasRequired(a => a.Product)
.WithMany(t => t.MeetingProductEligibilty)
.HasForeignKey(k => k.ProductId)
.WillCascadeOnDelete(false);
HasRequired(t => t.MemberType).WithMany().HasForeignKey(k => k.MemberTypeId).WillCascadeOnDelete(false);
}
}
在添加、删除和更新表时遇到错误。
使用以下代码进行更新,同时已为它们设置了所有引用和对象。
foreach (var eligibleProduct in productEligibiltyes)
{
ProductEligibiltys.Attach(eligibleProduct);
Entry(eligibleProduct).State = EntityState.Modified;
ProductEligibiltys.Add(eligibleProduct);
}
出现错误: 操作失败:由于一个或多个外键属性是非空的,因此无法更改关系。当关系发生更改时,相关联的外键属性将设置为 null 值。如果外键不支持 null 值,则必须定义新关系,将外键属性分配给另一个非 null 值,或删除不相关的对象。