Я использую Dbcontext для предоставления и ORM для своего приложения, и я определил свои классы сущностей следующим образом:
public partial class Article
{
public int ArticleID { get; set; }
//other properties
[ConcurrencyCheck]
[Timestamp]
public byte[] TimeStamp { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
public partial class Comment
{
public int CommentID { get; set; }
//other properties
public virtual Article Article { get; set; }
}
А для операций CRUD я следую тому, что вы можете прочитать в этом учебнике
Но когда я хочу удалить статью и связанные с ней комментарии следующим образом:
var qry=from c in _articleRepo.GetArticleByID(id).Comments
select c;
foreach (var item in qry)
{
_commentRepo.DeleteComment(item.CommentID);
_commentRepo.Save();
}
_articleRepo.DeleteArticle(id);
_articleRepo.Save();
удаление комментариев работает хорошо, но когда дело доходит до удаления статьи, приложение выдает этоисключение:
Оператор хранения, обновления или удаления затронул неожиданное количество строк (0).Объекты могут быть изменены или удалены с момента загрузки объектов.Обновить записи ObjectStateManager.
Кто-нибудь может мне помочь?