2011-02-11 52 views
1

我是新來的C#和asp.net編程,目前使用MsSQL數據庫鏈接到我的項目與DBML,使用Linq到SQL,我的連接字符串在我的web.config和我所有的數據庫函數都存儲在類管理器。下面的例子。在web.config中如何使用C#從類中的函數訪問MySQL數據庫?

連接字符串:

<add name="ConnectionString" connectionString="Data Source=server;Initial Catalog=database;Persist Security Info=True;User ID=UserId;Password=password" providerName="System.Data.SqlClient" /> 

示例類經理:

using System; 
using System.Collections.Generic; 
using System.Data.Linq; 
using System.Linq; 
using System.Web; 

public class DataManager 
{ 
    private DataContext dc; 

    public DataManager() 
    { 
     dc = new DataContext(); 
    } 

    public News GetNews(int newsId) 
    { 
     return dc.News.Where(x => x.NewsId == newsId).Where(x => x.Deleted == false).FirstOrDefault(); 
    } 

    public News News_Save(News n) 
    { 
     if (n.NewsId == 0) 
      dc.News.InsertOnSubmit(n); 

     dc.SubmitChanges(); 

     return n; 
    } 
} 

我想知道的是我怎麼能有一個類似的設置到這一點,但訪問一個MySQL數據庫。我看過的所有示例都需要在每次使用函數時在頁面內創建一個連接字符串,這對我來說似乎是浪費和不必要的。無論如何,我可以使用我目前的結構,但可以使用或不使用DBML訪問MySQL數據庫?

+0

我們以前在學校做的方式是將連接字符串存儲在全局文件中,我們可以從數據訪問層訪問該文件。看到這個:http://www.eggheadcafe.com/community/aspnet/2/10011720/retrieved-connection-string-storing-in-a-globalasa-file.aspx – Gallen 2011-02-12 00:11:42

回答

0

微軟沒有通過linq訪問mysql的庫,但有第三方提供者。看到這個post。這應該意味着你可以保留你的當前經理類(或者可以進行小的修改以適應第三方linq-to-mysql庫)。

1

AFAIK,沒有最新的MySQL的Linq-to-SQL提供程序。但是有一個實體框架的MySQL提供者:Connector/Net。實體框架也支持LINQ,所以你的代碼幾乎是一樣的。

您可以使用Visual Studio中的內置工具(Project> Add New Item ...> ADO.NET Entity Data Model)從現有數據庫創建實體,並將連接信息存儲在.config文件(我想這將是一個web/asp.net項目的web.config)。

相關問題