2011-02-11 76 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 Server 2008

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

這裏是MSDN上的一篇文章談論How to: Read Connection Strings from the Web.config

你幾乎在你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。

相關問題