Как я могу получить доступ к базе данных MySQL с помощью C # из функций в классе? - PullRequest
1 голос
/ 12 февраля 2011

Я новичок в программировании на C # и asp.net и в настоящее время использую базы данных MsSQL, связанные с моим проектом с помощью 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.Все примеры, которые я видел, требуют создания строки подключения на странице каждый раз, когда вы хотите использовать функцию, которая кажется мне расточительной и ненужной.В любом случае я могу использовать свою текущую структуру, но получить доступ к базе данных MySQL с DBML или без него?

Ответы [ 2 ]

1 голос
/ 12 февраля 2011

AFAIK, нет актуального поставщика Linq-to-SQL для MySQL.Но есть поставщик MySQL для Entity Framework: Connector / Net .Entity Framework также поддерживает LINQ, поэтому ваш код будет почти таким же.

Вы можете использовать встроенные инструменты в Visual Studio (Project> Добавить новый элемент ...> ADO.NET Entity Data Model) для создания ваших сущностей из существующей базы данных, и информация о соединении будет храниться вФайл .config (я полагаю, это будет web.config для проекта web / asp.net).

0 голосов
/ 12 февраля 2011

У Microsoft нет библиотеки для доступа к mysql через linq, но есть сторонние поставщики.Смотрите этот пост .Это должно означать, что вы можете сохранить текущий класс менеджера как есть (или, возможно, небольшие изменения для размещения сторонней библиотеки linq-to-mysql).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...