Entity framework 在类库项目中为EF Core启用迁移

Entity framework 在类库项目中为EF Core启用迁移,entity-framework,.net-core,entity-framework-core,Entity Framework,.net Core,Entity Framework Core,我已经创建了一个类库项目,在其中我定义了我的模型、DbContext、connectionstring等。但是,我无法使用下面的命令添加迁移 命令 我得到下面的错误 错误 下面是project.json { "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.6.1", "Microsoft.EntityFrameworkCore.Design": { "version": "1.1.0",

我已经创建了一个类库项目,在其中我定义了我的模型、DbContext、connectionstring等。但是,我无法使用下面的命令添加迁移

命令 我得到下面的错误

错误 下面是project.json

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.1",
    "Microsoft.EntityFrameworkCore.Design": { "version": "1.1.0", "type" : "build" },
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0",
    "CommonServiceLocator": "1.3.0"
  },

  "frameworks": {
    "net461": {
    }
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet": {
      "version": "1.1.0-preview4"
    }
  }
}
少了什么吗

问候,,
Alan

我在类库中有我的上下文、模型和存储库。我的迁移保存在我的web项目中,以便通过在我的EF Core注册中的一个简单配置调用使工具工作(我认为这是最适合您所经历的相同情况的解决方法)。不确定这是否是您的选择

还有其他方法,比如,我意识到你仍然需要在两个项目中引用EF包(在我的例子中是web应用程序和类库),以我现在的方式。我还没有完成“将类库配置为应用程序”的工作,因为这感觉就像是在提交中插入了一些东西

下面是我的
Startup.cs
中的EF设置:

services.AddDbContext<MyContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("MyConnectionString"), b => b.MigrationsAssembly("MyStartupProject")));
services.AddDbContext(选项=>
options.UseSqlServer(Configuration.GetConnectionString(“MyConnectionString”),b=>b.MigrationsAssembly(“MyStartupProject”);

我不熟悉.Net的核心方法,但在经典的.Net中,如果您尝试启用此功能,并且启动项目没有正确引用DbContext,则会出现类似的异常。您可以通过将PackageManager控制台设置为正确的项目或传递一些额外的参数来解决此问题。您可以将其上载到git上吗?我想看看例子。谢谢
{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.1",
    "Microsoft.EntityFrameworkCore.Design": { "version": "1.1.0", "type" : "build" },
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0",
    "CommonServiceLocator": "1.3.0"
  },

  "frameworks": {
    "net461": {
    }
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet": {
      "version": "1.1.0-preview4"
    }
  }
}
services.AddDbContext<MyContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("MyConnectionString"), b => b.MigrationsAssembly("MyStartupProject")));