【发布时间】:2015-05-23 01:22:40
【问题描述】:
所以我有这两个简单的模型
public class Blog
{
public int BlogId { get; set; }
private string _Name;
[Column("sNameColumn")]
public string Name { get { return _Name; } set { _Name = value; } }
public virtual List<Post> Posts { get; set; }
}
public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int? blog_id { get; set; }
[ForeignKey("blog_id")]
public virtual Blog Blog { get; set; }
}
我没有在 dbContext 定义中做任何不寻常的事情。然后,我尝试做这样的事情。
db.Blogs.Remove(db.Blogs.Find(2));
db.SaveChanges();
我收到一个 FK 违规错误。请注意,FK blog_id 可以为空,所以我认为 EF 应该处理删除,并使相应的 FK 为空。 你能告诉我我错过了什么吗?
【问题讨论】:
-
仅仅因为 FK 列可以为空并不意味着 EF 会在您删除博客条目时将其取消。
标签: entity-framework foreign-key-relationship sql-delete