我有2个文件夹:
My-WebApplication
My-WebService
两个都是2个asp.net mvc 6.0 项目的额外视觉工作室解决方案。
两者都需要使用 Entity Framework 7 共享自定义DbContext
课程。
我使用 Visual Studio 2015 并针对
进行开发"frameworks" : { "net451" }
您将在哪里创建自定义DbContext
类,以及如何使用Visual Studio 2015的最新功能(如类库作为nuget包)在两个VS解决方案中共享它 - 如果有帮助的话 -
或
我应该创建一个类库,并将其放在第三个文件夹中的第三个share.sln文件中与其他文件夹在同一级别上吗?并且这两个解决方案都引用了这个类库?
答案 0 :(得分:0)
您可以在单独的程序集(程序包类库)中使用常见的DbContext。在 Startup.cs 的 ConfigureServices 中为每个项目单独启动DbContext
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<YourDbContext>(options => options.UseSqlServer(Configuration["Data:ConnectionString"]));
必须在 project.json
中为每个项目指定依赖项"dependencies": {
...
"YourProject.Data": "1.0.0.0",
...
}
其中 YouProject.Data 是一个包含 YourDbContext 的程序集。
您还需要在 YouProject.Data project.json 中添加依赖项和命令,以获取上下文的迁移配置:
"dependencies": {
"EntityFramework.SqlServer": "7.0.0-beta7",
"EntityFramework.Commands": "7.0.0-beta7"
}
"commands": {
"ef": "EntityFramework.Commands"
},
您可以使用下一个命令创建新的迁移(对于MVC6 beta-7)
dnx ef迁移添加NameOfMigraion -c YourDbContext -s YouApplicationProjectName
其中 YouApplicationProjectName 是您的asp.net mvc6项目名称的名称,例如 My-WebApplication 或 My-WebService
我希望这会对你有所帮助。