我正在使用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操作,我会按照您在tutorial
中阅读的内容进行操作但是当我想删除一篇文章及其相关评论时如下:
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条目。
任何人都可以帮助我?
答案 0 :(得分:0)
我认为你正在保存你的背景一次......
尝试删除 _commentRepo.Save(); ,然后只保存 _articleRepo.Save();
希望这会有所帮助......