Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
C# 如何在ASP.NET MVC 5应用程序和.NET控制台应用程序之间共享数据库?_C#_Asp.net_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 如何在ASP.NET MVC 5应用程序和.NET控制台应用程序之间共享数据库?

C# 如何在ASP.NET MVC 5应用程序和.NET控制台应用程序之间共享数据库?,c#,asp.net,asp.net-mvc,entity-framework,C#,Asp.net,Asp.net Mvc,Entity Framework,我有两个独立解决方案中的项目-一个ASP.NET MVC 5应用程序和一个控制台应用程序-使用相同的数据库。它们都使用实体框架代码进行第一次迁移。每个项目都使用模型的副本(也就是说,每个项目都使用相同的模型,我刚刚将类文件复制并粘贴到每个解决方案中) 处理模型更改的更好方法是什么?例如,如果要更新web项目中的模型,则需要将文件复制并粘贴到控制台应用程序,反之亦然。更不用说这一点了,每次更改我都会头疼,因为每次项目都要更新数据库两次。有什么建议吗 我看到了一些关于将可恢复代码(即模型)移动到类库

我有两个独立解决方案中的项目-一个ASP.NET MVC 5应用程序和一个控制台应用程序-使用相同的数据库。它们都使用实体框架代码进行第一次迁移。每个项目都使用模型的副本(也就是说,每个项目都使用相同的模型,我刚刚将类文件复制并粘贴到每个解决方案中)

处理模型更改的更好方法是什么?例如,如果要更新web项目中的模型,则需要将文件复制并粘贴到控制台应用程序,反之亦然。更不用说这一点了,每次更改我都会头疼,因为每次项目都要更新数据库两次。有什么建议吗

我看到了一些关于将可恢复代码(即模型)移动到类库中的建议。但是,Web应用程序的DB上下文使用标识模型,而控制台应用程序不使用标识模型。这会成为一个问题吗


谢谢。

我制作了一个类库,其中包含项目之间常见的所有模型,并将其发布到我们的私有NuGet服务器,这样,如果NuGet设置正确,更新和更改将在可用时自动从NuGet服务器中提取

您将需要3个项目:控制台应用程序、MVC和一个类库,它们将作为您的模型在其他两个项目之间共享。我是否应该将它们全部移动到同一个解决方案中?我是否应该为每个项目使用不同的数据库上下文(请记住Web项目使用标识模型)?类库中只有一个数据库上下文。谢谢。但我遇到了一个问题—公共类ApplicationDbContext:IdentityDbContext—我必须删除它才能使某些LINQ查询正常工作,并且必须将其添加到帐户中才能正常工作。不知道如何处理这个问题?您应该将aspnet标识与mvc项目解耦。我是否应该将它们全部转移到同一个解决方案中?我是否应该为每个项目使用不同的Db上下文(请记住Web项目使用标识模型)?即使不使用Nuget,也没有必要将它们保留在相同的解决方案中。即使它们在同一个解决方案中,但仍然是不同的项目,设置每个项目完全取决于您,所以单独的DBContext不是问题