如何从类中的函数使用C#访问MySQL数据库?

时间:2011-02-11 23:28:51

标签: c# mysql class linq-to-sql

我是C#和asp.net编程的新手,现在使用链接到我的项目的MsSQL DataBases和DBML,使用Linq to SQL,我的web.config中的连接字符串,我的所有数据库函数都存储在类中经理。以下示例。

web.config中的连接字符串:

<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数据库?

2 个答案:

答案 0 :(得分:1)

AFAIK,MySQL没有最新的Linq-to-SQL提供程序。但是有一个实体框架的MySQL提供程序:Connector/Net。实体框架也支持LINQ,因此您的代码几乎相同。

您可以使用Visual Studio中的内置工具(项目&gt;添加新项目...&gt; ADO.NET实体数据模型)从现有数据库创建实体,并将连接信息存储在。配置文件(我猜这将是web / asp.net项目的web.config)。

答案 1 :(得分:0)

Microsoft没有通过linq访问mysql的库,但有第三方提供商。见post。这应该意味着您可以按原样保留当前的管理器类(或者可以进行少量修改以适应第三方linq-to-mysql库)。