C# 是否可以将元素自动添加到集合?

C# 是否可以将元素自动添加到集合?,c#,database,entity-framework,C#,Database,Entity Framework,我不熟悉实体框架(和堆栈溢出-第一个问题!): 现在我的数据库中有以下实体: 博客: 目前,每当我添加一篇文章时,我都会手动将其添加到相应博客的集合中。 我想知道,在我添加引用相应博客的帖子时,是否可以自动将它们添加到收藏中?您使用实体类来创建实体,而不是新建的,即: Posts.Add(Post.Create()); 而不是 Posts.Add(new Blog()); 但如果必须传递参数,则需要这样做 Post p = Post.Create(); p.BlogId = 1234; p.

我不熟悉实体框架(和堆栈溢出-第一个问题!):

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

博客:

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

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

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()

删除
属性
后缀,C#自动将其放入。@HighCore您是指[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]?是的,保留它
[DataBaseGenerated(…)]
我明白了-但是我需要将一些参数传递给构造函数-如何使Create方法不接受任何参数。您需要将默认构造函数与Create一起使用,但应该能够使用
Post.Create(){BlogId=1234;blogtTitle=“Something”}
要模拟需要传递给构造函数的任何内容,但构造函数方法仍会运行吗?我正在构造函数中设置发布日期(自动设置为now)@bizzehdee您只能将对象初始值设定项语法与构造函数结合使用。它在方法上不起作用。@Zebedee无参数构造函数应该是的。
Posts.Add(new Blog());
Post p = Post.Create();
p.BlogId = 1234;
p.SomeString = "Test";
p.SomeDate = DateTme.Now;

Posts.Add(p);