私はポストモデルを持ち、タイプAspNetIdentityUserの仮想ICollectionを持っています。ASP.NET - DbUpdateException:DELETEステートメントがREFERENCE制約と競合しました
public class Post{
public int Id { get; set; }
public string Title { get; set; }
public virtual ICollection<ApplicationUser> Views { get; set; }
}
VIEWSプロパティはカウンタとして機能するだけなので、PostモデルはApplicationUserとの何らかの関係を持つべきではありません。私はではないは、IdentityModelを変更しました。
しかし、コレクションにApplicationUserを追加した後、Postオブジェクトを削除しようとするとDbUpdateExceptionが発生します。
SqlException:DELETEステートメントがREFERENCE制約 "FK_dbo.AspNetUsers_dbo.Posts_Post_Id"と競合しました。競合はデータベース "aspnet-project-test-asp"、テーブル "dbo.AspNetUsers"、列 "Post_Id"で発生しました。
私は、オブジェクトを削除するには、このコードを使用しています:
Post post = db.Posts.Find(id);
db.Posts.Remove(post);
db.SaveChanges();
return RedirectToAction("Index");
ApplicationUserクラスは変更されていません。ユーザーを別のエンティティにし、PostIdへの参照を持たないようにするにはどうすればよいですか? @Manprit Singh Sahota –