【发布时间】:2014-05-28 19:39:16
【问题描述】:
我有 ASP.NET MVC 5 解决方案,里面有大约 4 个项目。 + EF 代码优先
看完this article
我试图将应用程序 EF 上下文(asp.net 身份)与我的模型上下文分开。(单个数据库中的两个上下文)
现在我有 2 个不同背景的项目。
//main project
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("MyDB")
{
}
}
//another project
public class DALDbContext : DbContext
{
public DALDbContext()
: base("MyDB")
{
}
...
}
我可以这样更新数据库:
更新数据库-ProjectName:myProject.WEB
更新数据库-ProjectName:myProject.DAL
(在网络中我有 asp.net 身份)
如果我要从 Azure 中的 VisualStudio 发布此解决方案,我可以检查“执行代码优先迁移(在应用程序启动时运行)”。
但如果我理解正确,它只相当于一个命令:
更新数据库-ProjectName:myProject.WEB
因为它是默认项目。
我不明白如何运行这两个命令。 另一方面,我尝试分别执行这两个命令。我在“包管理器控制台”中写了类似的东西:
Update-Database -ConnectionString "Server=tcp:<server_name>.database.windows.net,1433;Database=<database_name>;User ID=<db_user_name>@<server_name>;Password=<password>;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;Max Pool Size=100;" -ConnectionProviderName "System.Data.SqlClient"
但我收到错误:“ConnectionString 属性尚未初始化。”
或者可能尝试从另一种种子方法运行...(但我认为它很糟糕)
最后 - 2个问题:
- 将一个上下文与另一个上下文分开是个好主意吗?
- 如何在 azure 上运行这些种子方法?(或您的变体)
【问题讨论】:
标签: c# asp.net entity-framework azure entity-framework-migrations