為EF,AddDbContext或AddEntityFramework添加服務

asp.net-core entity-framework-core

services.AddDbContextservices.AddEntityFramework().AddDbContext之間有區別嗎?他們的展位看起來在core-1.0.0下有效。

選擇A.

services.AddDbContext<DbContext>(options => options.UseSqlServer(connection));

選擇B.

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

還注意到.AddSqlServer()看起來已經不見了。上次我在核心上做了一些工作是RC2,我看到很多已經清理/重命名/簡化,我想這很好。

一般承認的答案

我引用:當您希望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



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow