Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 具有标识的ASP.NET核心Web应用程序-在哪里添加EntityFramework代码?_Entity Framework_Asp.net Core_Entity Framework Core - Fatal编程技术网

Entity framework 具有标识的ASP.NET核心Web应用程序-在哪里添加EntityFramework代码?

Entity framework 具有标识的ASP.NET核心Web应用程序-在哪里添加EntityFramework代码?,entity-framework,asp.net-core,entity-framework-core,Entity Framework,Asp.net Core,Entity Framework Core,恐怕这是个很难回答的问题。我有一个ASP.NET核心Web应用程序,它使用单个用户帐户进行身份验证,因此它引入了标识位并创建了me迁移和所有用户/角色的“ApplicationDbContext”。我将与数据相关的类、迁移等移动到一个单独的类项目中,以将其与MVC项目分开,但除此之外,它是现成的。一切都好。我的数据库是通过迁移创建的,我可以注册和登录 现在,我要来构建我的应用程序,我不确定在哪里最好添加我的实体。问题是我应该吗 1) 是否将我的实体添加到Visual Studio为我创建的“Ap

恐怕这是个很难回答的问题。我有一个ASP.NET核心Web应用程序,它使用单个用户帐户进行身份验证,因此它引入了标识位并创建了me迁移和所有用户/角色的“ApplicationDbContext”。我将与数据相关的类、迁移等移动到一个单独的类项目中,以将其与MVC项目分开,但除此之外,它是现成的。一切都好。我的数据库是通过迁移创建的,我可以注册和登录

现在,我要来构建我的应用程序,我不确定在哪里最好添加我的实体。问题是我应该吗

1) 是否将我的实体添加到Visual Studio为我创建的“ApplicationDbContext”中

2) 在我的数据项目中创建第二个DbContext实例

3) 还有别的吗

我知道,如果我的应用程序使用单独的数据库进行身份验证和域数据,那么这将是一个不需要动脑筋的问题,选项2就是答案。但是这个应用程序非常简单,只有一个数据库,所以我想知道我是否可以选择1

为我创建的ApplicationDbContext继承自IdentityDbContext。如果我使用选项1并将实体添加到ApplicationDbContext,我不知道这是否还有其他含义

我确实从选项2开始,但很快发现,当项目有2个上下文时,像添加迁移这样的事情就不起作用了。我发现addmigration命令现在有一个-context开关,可以用来告诉命令使用哪个上下文,但是我有点担心我会遇到其他问题。特别是,我将使用VS Team Services通过持续部署来构建应用程序并将其部署到Azure,我不知道这些构建和发布功能是否能够处理多个DB上下文


知情人士有什么建议吗?这必须是一个相当标准的要求,对吗?

因此你的应用程序非常简单,你也可以对你的域模型使用
ApplicationDbContext
。这意味着,我建议你对你的应用程序使用单一上下文类。如果你这样做,你可以轻松管理你的业务需求(即,您的类之间的任何关系)与
用户
角色
IdentityDbContext
上下文上的