Как подключиться к существующей базе данных в ASP.NET MVC?

Я только начинаю изучать С# и ASP.NETMVC, но каждый найденный мной пример помещает базу данных в папку App_Data. Я не хочу этого делать.

Я хотел бы создать новую версию Nerd Dinner и переместить строку подключения в web.config, но я не могу найти примеров того, как это сделать. Моя база данных называется NerdDinner, и я использую SQL Server Express.

Какой правильный синтаксис для добавления новой строки подключения в мою веб-конфигурацию? Это влияет на создание классов LINQ to SQL?

Ответ 1

Я всегда перехожу в http://www.connectionstrings.com/, когда забываю, как записывается строка подключения.

Стандартная безопасность SQL Server 2008

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Вот статья о MSDN, в которой говорится о Как читать строки подключения из Web.config.

У вас есть секция почти в верхней части Web.config, называемая связующими строками, она может выглядеть примерно так:

<connectionStrings>
  <add 
    name="NorthwindConnectionString" 
    connectionString="Data Source=serverName;Initial 
    Catalog=Northwind;Persist Security Info=True;User 
    ID=userName;Password=password"
    providerName="System.Data.SqlClient"
  />
</connectionStrings>

Я бы порекомендовал, однако, что вы также смотрите в Entity Framework, которая является абстракцией между вашим кодом и базой данных, что упрощает работу с "объектами" в вашей базе данных. Вы можете найти введение в ADO.NET Entity Framework здесь. Но прежде всего вам следует сосредоточиться на подключении к вашей базе данных, используя информацию вверху.

Ответ 2

Дополнительный способ, чтобы ваш контекст "указывал" на строку connextionsStrings в файле web.config, должен попробовать этот конструктор.

public class MainDB : DbContext
{
    public MainDB() : base ("name=DefaultConnection")
    { 
    }

    public DbSet<User> Users { get; set;}
}

Затем измените имя на DefaultConnection в файле web.config.