0

私はこれらのメソッドクラスを持っています:

public class Links
{
    [Key]
    public int LID { get; set; }
    public string Link { get; set; }
    public string Type { get; set; }
    public string Filename { get; set; }
    public virtual int RessourceId { get; set; }
}

public class Ressource
{
    [Key]
    public int RessourceId { get; set; }
    public string TitreR { get; set; }
    public string Desc { get; set; }
    //public int Position { get; set; }
    public int Rating { get; set; }
    public string Tags { get; set; }
    public virtual int SectionId { get; set; }
    public virtual int UserId { get; set; }
    public virtual ICollection<Links> Links { get; set; }

}

public class Section
{
    [Key]
    public int SectionId { get; set; }
    public string Titre { get; set; }
    public virtual ICollection<Tags> Tags { get; set; }

    public virtual ICollection<Ressource> Ressources { get; set; }
    //public Section() { this.Tag=new List<string>(); }
}

リソースを削除しようとすると、次のエラーが発生します。

操作に失敗しました: 1 つ以上の外部キー プロパティが null 非許容であるため、リレーションシップを変更できませんでした。リレーションシップに変更が加えられると、関連する外部キー プロパティが null 値に設定されます。外部キーが null 値をサポートしていない場合は、新しい関係を定義するか、外部キー プロパティに別の非 null 値を割り当てるか、関連のないオブジェクトを削除する必要があります。

エラー行:

_db.Entry(R).State = EntityState.Deleted;
_db.SaveChanges();    // error line

PS: Filename 属性を Links クラスに追加する前は機能していました...解決方法はありますか? ありがとうございました

4

1 に答える 1