我应该如何使用新的类库nuget包设计我的visual studio解决方案

时间:2015-09-18 11:42:07

标签: c# asp.net .net nuget-package asp.net-core-mvc

我有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文件中与其他文件夹在同一级别上吗?并且这两个解决方案都引用了这个类库?

1 个答案:

答案 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

我希望这会对你有所帮助。