public class Email
{
public int Id { get; set; }
/// ...
public int? ReplyTo { get; set; }
public int? ForwardOf { get; set; }
}
我想使用级联Delete将ReplyTo
和ForwardOf
配置为FK到Email.Id
属性。
尝试过:e.HasOne(nameof(Email.ReplyTo)).WithMany().OnDelete(DeleteBehavior.Cascade);
但是它给出了一个错误
The specified type 'System.Nullable`1[System.Int32]' must be a non-interface reference type to be used as an entity type.
我不希望有Email
类型的导航属性,因为我的代码永远不会使用它们。
这应该允许影子导航属性:
.HasOne<Email>()
.WithMany()
.HasForeignKey(x => x.ReplyTo)
.OnDelete(DeleteBehaviour.Cascade);
尽管我不确定你是否希望在这样的关系上进行删除级联。