Как подключиться к базе данных в C # веб-приложении - PullRequest
2 голосов
/ 06 июля 2011

Я работаю в C ++ в течение последних четырех лет, и внезапно мне было поручено разработать пример веб-приложения, целью которого является получение данных из таблицы примеров и их отображение в виде таблицы.

О приложении:

Приложение разработано в Visual Web Developer 2010 под Framework 4.0 с использованием ASP.net с C #. Бэкэнд-база данных разработана в MS SQL Server 2008

Мой подход:

Так как я новичок в мире .net. Поэтому я бродил по Интернету и нашел набор типизированных данных (самый простой способ, т. Е. Использование мастеров, а не кодирование), и, следовательно, я использую набор типов данных для подключения к базе данных.

Мой вопрос:

Я столкнулся с большой критикой за использование типизированных наборов данных :(. Кто-то говорит, что это неэффективно, кто-то говорит, что его сложнее расширять ... и так далее :( Теперь я хочу только спросить, что является лучшим способом подключения к базе данных (особенно для крупномасштабного проекта). Я спрашиваю только об этом, потому что я новичок в этой области. Однако я учусь в Интернете и нашел другой способ кодирования, то есть существуют классы для каждой вещи (DataSet, DataTable, DataRow, Connection и т. Д.). Это лучший способ? или существует что-то еще. Некоторый пример кода или веб-ресурс, описывающий, как это сделать, будет более полезным

Ответы [ 6 ]

6 голосов
/ 06 июля 2011

Я бы посмотрел на инструмент Microsoft Objects ORM (Object Realtionship Mapping) под названием Entity Framework.Вы в значительной степени добавляете новую модель Entity Framework в свой проект, а затем можете выбрать все таблицы и хранимые процедуры, которые вам нужны, и тогда вы получите доступ к вашим данным через объект, а не наборы данных.

Наборы данных в наши дни не очень часто используются в новых проектах, потому что их трудно изменить в будущем, и существует необходимость в многих изменениях в будущем, и то, что люди говорили вам, верно, что они не очень расширяемы.

Проверьте ссылку ниже для Entity Framework.

Учебник Entity Framework

3 голосов
/ 06 июля 2011

Вы можете использовать SqlDataReader, это самый быстрый способ получения данных в .NET.

//ensures the SQLconnection will be closed...
using (SqlConnection connection =
           new SqlConnection(connectionString))
{
    SqlCommand command =
        new SqlCommand("select * from MyTable", connection);
    connection.Open();

    SqlDataReader reader = command.ExecuteReader();

    // Reads data
    while (reader.Read())
    {
        Response.Write(String.Format("{0}, {1}",
            reader[0], reader[1]));
    }

    // Close dataReader after use...
    reader.Close();
}
1 голос
/ 06 июля 2011

Может быть Аннотация данных может быть хорошим способом для вас

1 голос
/ 06 июля 2011

Если вы выбираете наборы данных, вы придерживаетесь одной технологии. Сложнее следовать разделению проблем, поскольку наборы данных и их таблицы обычно передаются как бизнес-логике, так и клиенту, а не только слою доступа к данным.

Так что масштабируемость, безусловно, является проблемой, если вы выбираете типизированные наборы данных в своем приложении, потому что это не так просто заменить эти технологии, потому что обычно они реализуются по уровням и уровням

Другие клянутся таким технологиям, как NHibernate, что очень хорошо.

Но если это всего лишь пример приложения, вы получаете очень много бесплатных наборов данных. Идите дальше и реализуйте его, если это не должно быть долгоживущее приложение, которое намеревается масштабировать

1 голос
/ 06 июля 2011

Вы можете взглянуть на this .

И у него также есть другие методы, такие как LINQ TO SQL, EF

1 голос
/ 06 июля 2011

Я бы порекомендовал вам ознакомиться с этими статьями, так как в них описываются передовые методы доступа к данным в ASP.NET.

http://msdn.microsoft.com/en-us/library/ms971481.aspx

http://msdn.microsoft.com/en-us/library/ee817654.aspx

использование DataSet, DataTable или SqlDataReader, все зависит от вашей ситуации.Вам нужно проанализировать, какой костюм лучше всего подходит для вашей ситуации.

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