可以自动添加元素到集合?

时间:2013-08-12 18:20:52

标签: c# database entity-framework

我是Entity Framework的新手(和堆栈溢出 - 第一个问题!):

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

博客:

[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; }

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

1 个答案:

答案 0 :(得分:1)

您使用实体类来创建实体而不是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();