为EF添加服务,使用AddDbContext或AddEntityFramework。

6
services.AddDbContextservices.AddEntityFramework().AddDbContext 有什么区别吗?在core-1.0.0下,它们两个都是有效的。
services.AddDbContext<DbContext>(options => options.UseSqlServer(connection));

选项B
services.AddEntityFramework()
    .AddDbContext<DbContext>(options =>
        options.UseSqlServer(connection));

我还注意到.AddSqlServer()已经消失了。上一次我在core上做工作是RC2版本,现在看到很多东西都被整理/重命名/简化了,我想这挺好的。

1个回答

2
我在引用:只有在您想让Entity Framework从外部IServiceProvider解析其使用的服务时,才需要使用此功能(AddEntityFramework)。 如果您没有使用外部IServiceProvider,则Entity Framework会负责创建所需的服务。
请参阅:https://github.com/aspnet/EntityFramework/blob/dev/src/Microsoft.EntityFrameworkCore/Infrastructure/EntityFrameworkServiceCollectionExtensions.cs 我在引用:故意在此命名空间中,因为这是供其他关系提供程序使用而不是顶级应用程序开发人员使用的。
请参阅:https://github.com/aspnet/EntityFramework/blob/94138e66a56693395e5e323a8d4b666bbcb07bf7/src/Microsoft.EntityFrameworkCore/Infrastructure/EntityFrameworkServiceCollectionExtensions.cs

意思是什么?这意味着没有区别吗? - Thomas Andreè Wang
在我的简单用例中,只使用直接的解决方案。 - Thomas Andreè Wang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接