2011-02-11 6 views
11

저는 C#과 ASP.NETMVC를 배우기 시작했습니다. 그러나 찾은 모든 예는 데이터베이스를 App_Data 폴더에 저장합니다. 나는 이것을하고 싶지 않다.ASP.NET MVC에서 기존 데이터베이스에 어떻게 연결합니까?

Nerd Dinner의 새 버전을 만들고 연결 문자열을 web.config으로 옮기고 싶습니다. 그러나 어떻게해야하는지 예제를 찾을 수 없습니다. 내 데이터베이스는 NerdDinner라고하며 SQL Server Express를 사용하고 있습니다.

웹 구성에 새 연결 문자열을 추가하는 올바른 구문은 무엇입니까? LINQ to SQL 클래스를 만드는 데 영향을 줍니까?

답변

15

연결 문자열 작성 방법을 잊어 버렸을 때 항상 http://www.connectionstrings.com/으로갑니다.

표준 보안 SQL 서버 여기에 2008

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

How to: Read Connection Strings from the Web.config 이야기 MSDN에 관한 기사입니다.

당신은 거의 당신의 Web.config라는 connectionstrings에서 상단의 섹션, 그것은 다음과 같이 보일 수 있습니다

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

당신도 사이의 추상화 엔티티 프레임 워크에 보이는 것을 그러나 추천 할 것입니다 당신의 코드 및 데이터베이스를 사용하면 데이터베이스의 "개체"로 작업하기가 더 쉽습니다. ADO.NET Entity Framework here에 대한 소개를 찾을 수 있습니다. 하지만 무엇보다 먼저 연결 정보를 사용하여 데이터베이스에 연결하고 실행하는 데 집중해야합니다.

+0

위대하다. 나는 그것을 ... 고마워 할 것이다! –

+0

@Filip Ekberg 그러나 기존 데이터베이스에 연결하면 모델 클래스를 추가 할 필요가 없습니다. –

+1

@Srcee, 아니요. 모델 클래스를 추가 할 필요가 없지만 결국 조금 복잡해집니다. –

2

web.config 파일의 connextionsStrings 행에 컨텍스트 '포인트'를 지정하는 또 다른 방법은이 생성자를 사용하는 것입니다.

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

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

그런 다음 이름을 web.config 파일의 DefaultConnection으로 변경하십시오.

관련 문제