可以自动将元素添加到集合中

本文关键字:添加 集合 元素 | 更新日期: 2023-09-27 18:27:19

我是实体框架(和堆栈溢出-第一个问题!)的新手:

现在我的数据库中有以下实体:

博客:

[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual IList<Post> Posts { get; set; }

职位:

[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int BlogId { get; set; }
[Required]
[ForeignKey("BlogId")]
public virtual Blog Blog { get; set; }

目前,每当我添加帖子时,我都会手动将其添加到相应博客的收藏中。我想知道当我添加引用相应博客的帖子时,是否可以自动将它们添加到收藏中?

可以自动将元素添加到集合中

您使用实体类来创建实体,而不是new,即:

Posts.Add(Post.Create());

而不是

Posts.Add(new Blog());

但如果你必须通过参数,你将需要做

Post p = Post.Create();
p.BlogId = 1234;
p.SomeString = "Test";
p.SomeDate = DateTme.Now;
Posts.Add(p);

和往常一样,调用db.SaveChanges();