使用 Entity Framework 从 MVC 应用程序连接到现有的 Azure 数据库
Connecting to an Existing Azure Database from an MVC application using Entity Framework
所以我已经使用 Azure 移动服务发布了一个应用程序,我现在想要一个 MVC 网站查看此移动服务的基础数据库,这样管理员就可以修改表等,而无需直接登录到Azure 门户。
我已将我的数据库连接字符串复制到 MVC 应用程序中,但是每次我发布它时,它都会在云中创建它自己的单独数据库,而不是查看我放在适当配置文件中的现有数据库。
有谁知道如何解决这个问题,或者我可以从哪里开始寻找它来简单地连接到现有数据库?由于现有数据库是由我创建 Azure 移动服务生成的,所以我不确定这是否是导致我出现问题的原因?
干杯,
乔
您将需要以下内容。
将此添加到您的 MVC 应用程序中的 Web.config 文件。
<connectionStrings>
<add name="connection" connectionString="Data Source=server address;Initial Catalog=Database Name;User Id=****;Password=****;"/>
</connectionStrings>
在您的上下文文件中:
public ContextRepository() : base(ConfigurationManager.ConnectionStrings["connection"].ConnectionString)
{
}
public DbSet<EntityName> Entities{ get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("dbo");
modelBuilder.Entity<EntityName>().ToTable("EntityTable");
}
基本上因为您首先编写代码,所以它可能会尝试创建自己的数据库,因为它不知道如何将实体映射到表。
看看 Fluent API。 https://msdn.microsoft.com/en-gb/data/jj591617.aspx
所以我已经使用 Azure 移动服务发布了一个应用程序,我现在想要一个 MVC 网站查看此移动服务的基础数据库,这样管理员就可以修改表等,而无需直接登录到Azure 门户。
我已将我的数据库连接字符串复制到 MVC 应用程序中,但是每次我发布它时,它都会在云中创建它自己的单独数据库,而不是查看我放在适当配置文件中的现有数据库。
有谁知道如何解决这个问题,或者我可以从哪里开始寻找它来简单地连接到现有数据库?由于现有数据库是由我创建 Azure 移动服务生成的,所以我不确定这是否是导致我出现问题的原因?
干杯,
乔
您将需要以下内容。
将此添加到您的 MVC 应用程序中的 Web.config 文件。
<connectionStrings>
<add name="connection" connectionString="Data Source=server address;Initial Catalog=Database Name;User Id=****;Password=****;"/>
</connectionStrings>
在您的上下文文件中:
public ContextRepository() : base(ConfigurationManager.ConnectionStrings["connection"].ConnectionString)
{
}
public DbSet<EntityName> Entities{ get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("dbo");
modelBuilder.Entity<EntityName>().ToTable("EntityTable");
}
基本上因为您首先编写代码,所以它可能会尝试创建自己的数据库,因为它不知道如何将实体映射到表。
看看 Fluent API。 https://msdn.microsoft.com/en-gb/data/jj591617.aspx