我必须投射项目
ASP.NET核心Web应用程序(.Net Core)
ExternalEntityFramework
和类库(.NET Core)
ExternalEntityFramework.Data
这是在this link之后但在.NETCore上创建的。我现在非常困惑,因为我无法在 ExternalEntityFramework.Data 上创建迁移,因为没有Startup类,我不知道如何在类库项目中。
有人可以给我一些关于为Entity Framework Core数据访问创建单独项目的指导吗?
答案 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)
我自己也在尝试,所以这可能不是最佳方式。但它确实有效。