AddAsync :
- entity.SubEntity == null
- entity.SubEntity!= null
entity.SubEntity null, include SubEntity.
entity.SubEntity , saveEntity.SubEntity , saveChanges, savedEntity.SubEntity .
, savedEntity, subEntity.
Entity-Framework " " " ": , .
:
public class Blog
{
public int Id {get; set;}
public string Name {get; set;}
public ICollection<Post> Posts {get; set;}
}
public class Post
{
public int Id {get; set;}
public int BlogId {get; set;}
public virtual Blog Blog {get; set;}
public string Text {get; set;
}
public class BlogContext : DbContext
{
public BlogContext() : base("DbTestBlogs") {}
public DbSet<Blog> Blogs {get; set;}
public DbSet<Post> Posts {get; set;}
}
. (subentities). :
class Program
{
static void Main(string[] args)
{
Blog blogToAdd = new Blog()
{
Name = "My Blog",
Posts = new Post[]
{
new Post() {Text = "My 1st Post"},
new Post() {Text = "My 2nd Post"},
new Post() {Text = "My 3rd Post"},
},
};
Blog addedBlog = AddBlog(blogToAdd);
Debug.Assert(addedBlog.Posts != null);
Debug.Assert(addedBlog.Posts.Count() == blogToAdd.Posts.Count());
}
private static Blog AddBlog(Blog blogToAdd)
{
using (var dbContext = new BlogContext())
{
Blog addedBlog = dbContext.Blogs.Add(blogToAdd);
dbContext.SaveChanges();
return addedBlog;
}
}
, , Post.BlogId Post.Blog. , include