0

次の3つのテーブルがあります。

public class Project
{
    // other fields...

    public virtual ICollection<Attachment> Attachments { get; set; }
}

public class Experiment
{
    // other fields...

    public virtual ICollection<Attachment> Attachments { get; set; }
}

public class Attachment
{
    // ...
}

この構造を作成すると、EF はProjectIdExperimentIdの 2 つの列を持つテーブルAttachmentsを作成します。

Experiment->Attachment と Project->Attachment の関係が Attachment で同じキーを「共有」する必要があることを EF に伝えるにはどうすればよいですか?

何かのようなもの:

public class Attachment
{
    // other fields...

    // can be a Guid from either Experiment or Project
    public Guid BelongingModelId { get; set; }

    // I will set this manually in order to know from which table the Guid is coming
    public String BelongingModelType { get; set; }
}

このようなことは可能ですか?

DbContext / OnModelCreating で試しましたが、解決策が見つかりませんでした。

ありがとう、グイド

4

1 に答える 1