.net 实体框架核心7中context.add()和context.entity.add()有什么区别?

bnl4lu3b  于 2023-01-03  发布在  .NET
关注(0)|答案(1)|浏览(115)

当我想通过Entity Framework Core向我的数据库添加一个新数据集时,我首先创建实体,然后用数据填充它,然后我可以调用context.Add(entityData);context.Entity.Add(entityData);,我已经看到了两种方法的代码示例,微软的官方文档是用第二种方法实现的,但是我找不到任何解释不同之处的东西。查看Visual Studio代码提示,它们看起来是一样的。两者之间是否存在功能差异?如果存在,我何时会使用其中一个而不是另一个?

lnxxn5zx

lnxxn5zx1#

DbSet.Add
开始跟踪处于Added状态的给定实体以及尚未跟踪的任何其他可访问实体,以便在调用SaveChanges()时将这些实体插入到数据库中。
DbContext.Add
开始跟踪处于Added状态的给定实体以及尚未跟踪的任何其他可访问实体,以便在调用SaveChanges()时将这些实体插入到数据库中。
做同样的事情。
实际上,实现看起来是一样的-DbSet通过InternalDbSetDbContext通过SetEntityState

相关问题