1

考虑我有一个上下文MyDbContext继承EFCore 2.0的DbContextBlogsDbSet<Blog>Blog是实体模型。我必须使用哪一个,MyDbContext.Blogs.Add(ablog)或MyDbContext.Add(ablog)?

当我添加一个新的Blog实例,ablogBlogs,我必须使用哪一个?

MyDbContext.Add(ablog); or MyDbContext.Blogs.Add(ablog);

Find怎么样?

MyDbContext.Find<Blog>(1); or MyDbContext.Blogs.Find(1);

使用一个比另一个有什么好处吗?

回答

1

经由DbContext直接添加数据是新的,以在实体框架核心的DbContext并在先前版本实体框架的不等同其中DbContext是可用的(即EF 4.1以上)。

但没有差别because

当您使用的Addcontext任一版本开始跟踪这是在传递给方法和添加的EntityState 值适用于它的 实体。上下文同样适用EntityState 值已添加到图中的所有其他对象,但已被context跟踪。

也有是AddAdd<TEntity>(TEntity entity))的通用版本,但作为Visual Studio中也建议你可以省略类型参数,因为编译器会推断到方法传递的参数类型。

相关问题