2011-02-11 64 views
11

Tôi chỉ mới bắt đầu học C# và ASP.NETMVC, nhưng mỗi ví dụ tôi đã tìm thấy đặt cơ sở dữ liệu trong thư mục App_Data. Tôi không muốn làm điều này.Làm cách nào để kết nối với cơ sở dữ liệu hiện có trong ASP.NET MVC?

Tôi muốn tạo phiên bản mới của Bữa tối Nerd và di chuyển chuỗi kết nối đến web.config, nhưng tôi không thể tìm thấy bất kỳ ví dụ nào về cách thực hiện. Cơ sở dữ liệu của tôi được gọi là NerdDinner và tôi đang sử dụng SQL Server Express.

Cú pháp chính xác để thêm chuỗi kết nối mới vào cấu hình web của tôi là gì? Điều này có ảnh hưởng đến việc tạo các lớp LINQ to SQL không?

Trả lời

15

Tôi luôn truy cập http://www.connectionstrings.com/ khi tôi quên cách chuỗi kết nối được viết.

Chuẩn bảo mật SQL Server 2008

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

Dưới đây là một bài viết trên MSDN nói về How to: Read Connection Strings from the Web.config.

Bạn có một phần gần như ở phía trên cùng trong Web.config gọi connectionStrings của bạn, nó có thể trông giống như thế này:

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

tuy nhiên tôi sẽ khuyên bạn cũng nên nhìn vào để Entity Framework là một sự trừu tượng giữa bạn mã và cơ sở dữ liệu, nó làm cho nó dễ dàng hơn để làm việc với "các đối tượng" trong cơ sở dữ liệu của bạn. Bạn có thể tìm thấy phần giới thiệu về ADO.NET Entity Framework here. Nhưng trước hết bạn nên tập trung vào việc kết nối và chạy đến cơ sở dữ liệu của bạn bằng cách sử dụng thông tin ở trên cùng.

+0

tuyệt vời, tôi sẽ tặng nó ... cảm ơn! –

+0

@Filip Ekberg Nhưng nếu tôi kết nối với một cơ sở dữ liệu hiện có, tôi không cần phải thêm các lớp mô hình, phải không? –

+1

@Srcee, không có bạn không bao giờ cần phải thêm các lớp mô hình, nhưng nó đơn giản hóa mọi thứ một chút cuối cùng. –

2

Cách bổ sung để có ngữ cảnh 'điểm' của bạn vào dòng connextionsStrings trong tệp web.config là dùng thử hàm tạo này.

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

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

Sau đó, đổi tên thành DefaultConnection trong tệp web.config.

Các vấn đề liên quan