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

本文关键字:类库 nuget 解决方案 studio visual 我的 我应该 | 更新日期: 2023-09-27 18:13:22

我有两个文件夹:

My-WebApplication
My-WebService

都是2 asp.net mvc 6.0项目在一个额外的visual studio解决方案。

两者都需要使用实体框架7共享自定义DbContext类。

我使用Visual Studio 2015并针对

进行开发
"frameworks" : { "net451" }

您将在哪里创建自定义DbContext类,以及如何使用Visual Studio 2015有关类库的最新功能作为nuget包在两个VS解决方案之间共享它-如果这有帮助-

我应该创建一个类库并把它放在第三个共享。SLN文件在与其他文件相同级别的第三个文件夹中?两个解都引用这个类库?

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

您可以在单独的程序集(包类库)中使用公共DbContext。在Startup.csConfigureServices中为每个项目单独启动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中的命令。数据项目。Json 为您的上下文配置迁移:

"dependencies": {
    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7"
}
"commands": {
    "ef": "EntityFramework.Commands"
},

您可以使用下一个命令创建新的迁移(对于MVC6 beta-7)

dnx添加nameofmigration -c YourDbContext -s YouApplicationProjectName

其中YouApplicationProjectName是您的asp.net mvc6项目名称,例如My-WebApplicationMy-WebService