2011-02-11 14 views
11

Estoy empezando a aprender C# y ASP.NETMVC, pero cada ejemplo que he encontrado pone la base de datos en la carpeta App_Data. No quiero hacer esto¿Cómo me conecto a una base de datos existente en ASP.NET MVC?

Me gustaría crear una nueva versión de Nerd Dinner y mover la cadena de conexión al web.config, pero no puedo encontrar ningún ejemplo sobre cómo hacerlo. Mi base de datos se llama NerdDinner y estoy usando SQL Server Express.

¿Cuál es la sintaxis correcta para agregar la nueva cadena de conexión a mi configuración web? ¿Esto tiene algún efecto en la creación de clases LINQ to SQL?

Respuesta

15

Siempre voy a http://www.connectionstrings.com/ cuando olvido cómo se escribe una conexión.

SQL estándar de seguridad de servidor 2008

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

Aquí está un artículo en MSDN hablando How to: Read Connection Strings from the Web.config.

Usted tiene una sección casi en la cima de sus Web.config llamados connectionStrings, podría ser algo como esto:

<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> 

recomendaría sin embargo, que también mira a Entity Framework que es una abstracción entre su código y la base de datos, hace que sea más fácil trabajar con "objetos" en su base de datos. Puede encontrar una introducción al ADO.NET Entity Framework here. Pero antes que nada debe enfocarse en hacer que su conexión funcione y se ejecute en su base de datos usando la información de la parte superior.

+0

eso es genial, lo intentaré ... ¡gracias! –

+0

@Filip Ekberg Pero si me conecto a una base de datos existente, no necesito agregar clases modelo, ¿o sí? –

+1

@Srcee, no, nunca se requiere agregar clases de modelo, pero simplifica un poco las cosas al final. –

2

Una forma adicional de tener su contexto 'punto' en la línea connextionsStrings en el archivo web.config es probar este constructor.

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

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

A continuación, cambie el nombre a DefaultConnection en el archivo web.config.

Cuestiones relacionadas