实体框架核心 - 身份 - 多个项目

时间:2017-07-04 09:12:26

标签: c# asp.net entity-framework

我必须投射项目

ASP.NET核心Web应用程序(.Net Core)

ExternalEntityFramework

和类库(.NET Core)

ExternalEntityFramework.Data

enter image description here

这是在this link之后但在.NETCore上创建的。我现在非常困惑,因为我无法在 ExternalEntityFramework.Data 上创建迁移,因为没有Startup类,我不知道如何在类库项目中。

有人可以给我一些关于为Entity Framework Core数据访问创建单独项目的指导吗?

1 个答案:

答案 0 :(得分:0)

您应该在 ExternalEntityFramework.Data 中拥有以下课程。

public static class IServiceCollectionExtension
{
    public static IServiceCollection AddProjectServices(this IServiceCollection services)
    {
        services.AddDbContext<SomeContext>(options => options.UseSqlite(connectionString, b => b.MigrationsAssembly("ExternalEntityFramework")));

        return services;
    }
}

使用此类,您可以在库项目中添加服务。然后,您应该从主项目的 startup.cs 调用此方法,之前添加对 ExternalEntityFramework.Data 的引用。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddProjectServices();
}

您可以将 connectionString ExternalEntityFramework 字符串作为参数传递。

public static IServiceCollection AddProjectServices(this IServiceCollection services, string connectionString, string mainProject)

我自己也在尝试,所以这可能不是最佳方式。但它确实有效。