Подключение к существующей базе данных Azure из приложения MVC с помощью Entity Framework

Итак, у меня есть приложение, уже опубликованное с использованием мобильных служб Azure, и теперь я хотел бы, чтобы веб-сайт MVC просматривал базовую базу данных для этой мобильной службы, чтобы администратор мог изменять таблицы и т. д. без необходимости входа непосредственно на портал Azure.

Я скопировал строку подключения моей базы данных в приложение MVC, однако каждый раз, когда я его публикую, оно создает свою собственную отдельную базу данных в облаке, а не просматривает существующую, которую я поместил в соответствующие файлы конфигурации.

Кто-нибудь знает, как решить эту проблему или где я могу начать поиск, чтобы просто подключиться к существующей базе данных? Поскольку существующая база данных была создана при создании мобильной службы Azure, я не уверен, что это вызывает у меня проблемы?

Ваше здоровье,

Джо


person Joe    schedule 07.04.2016    source источник


Ответы (1)


Вам понадобится следующее.

Добавьте это в свой файл Web.config в своем приложении MVC.

<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

person Cosmin Argatu    schedule 07.04.2016