WillCascadeOnDelete没有基本实体知道外国实体

时间:2015-05-15 11:01:51

标签: c# entity-framework entity-framework-6

我的核心应用程序中有一个实体:

public class Contact : BaseEntity
{
    //Some properties
}

然后我在插件中有一个实体(不是主DLL的一部分),如下所示:

public class AdditionalContactData
{
    public string SomePropertyThatIsntOnTheMainContact { get; set; }

    public Contact Contact { get; set;}
}

通过EF绑定模型等后,这将创建具有外键的表,如我所料。我遇到的问题是,我希望能够删除Contact实体并向下级联以删除AdditionalContactData。如果Contact能够了解AdditionalContactData,那么这不会成为一个问题,即:

HasRequired(m => m.Contact)
    .WithOptional(m => m.AdditionalContactData)
    .WillCascadeOnDelete();

这会起作用(而且在正常情况下我会这样做)

如何在 Contact了解AdditionalContactData的情况下实现相同的目标。这可能吗?

我希望我已经足够清楚,但如果需要更多信息,请告诉我。

2 个答案:

答案 0 :(得分:1)

假设这是来自AdditionalContactData配置的代码,只需从WithOptional删除可选属性表达式:

HasRequired(m => m.Contact)
    .WithOptional()
    .WillCascadeOnDelete();

答案 1 :(得分:1)

您可以创建单向关系:

HasRequired(m => m.Contact)
.WithOptional()
.WillCascadeOnDelete();

检查此link以获取更多相关信息。