次の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 はProjectIdとExperimentIdの 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 で試しましたが、解決策が見つかりませんでした。
ありがとう、グイド