2

タイプ 'XYZ.Models.Attachment' と 'XYZ.Models.Accounts.User' の間の関連付けのプリンシパル エンドを特定できません。この関連付けのプリンシパル エンドは、リレーションシップ fluent API またはデータ アノテーションのいずれかを使用して明示的に構成する必要があります。

呼び出しのターゲットによって例外がスローされました。

update-databaseEFモデルを使用しようとすると、そのエラーが発生します。

User.cs の一部:

[Table("Users")]
public class User
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }

    public int MainPhotoId { get; set; }

    [ForeignKey("MainPhotoId")]
    public virtual Attachment Photo { get; set; }
}

添付ファイル.cs

[Table("Attachments")]
public class Attachment
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int AttachmentId { get; set; }

    public string name { get; set; }


    public int UserId { get; set; }
    public DateTime AddDate { get; set; }

    public bool del { get; set; }

    [ForeignKey("UserId")]
    public virtual User Author { get; set; }

}

なぜこのエラーが発生するのですか? そして、それを解決する方法は?

よろしく

4

1 に答える 1