Введение в взаимодействие базы данных с C # - PullRequest
10 голосов
/ 17 апреля 2009

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

Итак, я хотел бы знать, как лучше всего начать изучать взаимодействие с базой данных на C #. Я читал о LINQ-to-SQL и ADO.net. Это правильные технологии для изучения?

С чего начать?

РЕДАКТИРОВАТЬ: Спасибо за все ответы. Было много хороших - мне было трудно выбрать один из них как «ответ». Это мне очень помогает!

Ответы [ 6 ]

14 голосов
/ 17 апреля 2009

Я бы посоветовал потратить ваше время на изучение Microsoft SQL Server , Блок приложения доступа к данным из Корпоративная библиотека и ADO.NET Entity Framework .

Точка входа для изучения SQL Server находится здесь -> Центр разработчиков SQL Server
Начальная точка обучения ADO.NET находится здесь -> Обучение ADO.NET в MSDN

Прежде всего, чтобы понять, что такое ADO.NET, перейдите по ссылкам ниже:

Узнайте, как писать прямые запросы в C # на SQL Server без использования каких-либо структур и инструментов ORM, а затем приступить к изучению более продвинутых технологий в семействе ADO.NET.

См. Также :

Вы также можете загрузить LINQPad , который является идеальным инструментом для игры с LINQ.

Также я предлагаю подписаться на ADO.NET, связанные RSS-каналы :

Также проверьте существующие проекты с открытым исходным кодом на CodePlex.com , которые используют эти технологии и копаться в их исходных кодах.

Великие книги по теме для вас:

6 голосов
/ 17 апреля 2009

ОБНОВЛЕНИЕ : Одна вещь, которой этот ответ не имел в прошлом, - это ссылки на информацию для SQL и новичков в базах данных, поэтому я поставлю здесь и некоторые релевантные ссылки, чтобы вы (или кто-либо еще) может освежить свои навыки работы с SQL и другие навыки проектирования баз данных.

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

Оригинальный ответ :

Похоже, вам более или менее нужно базовое введение в подключение и управление базой данных из C #. В вышеприведенном плакате говорилось о том, чтобы изучать LINQ to SQL, но вы также можете взглянуть на более базовую базовую среду ADO.NET, которая поможет вам понять основы ее работы.

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

Редактировать : дополнительная информация от C # Station , CodeProject и Codersource

Редактировать 2 : Если вас интересуют такие вещи, как Linq to SQL, как уже упоминалось выше, вот несколько уроков из C # Corner и C-Sharp Online

Редактировать 3 : Другие также предлагают такие вещи, как ADO.NET Entity Framework. Я не обязательно предлагал бы это для начинающих, которые все еще должны понять основы работы с базой данных. Вот некоторая информация из MSDN Overview

Простой пример (Это получено непосредственно из ссылки на станцию ​​C #, приведенной выше)

Листинг 1. Использование SqlConnection

using System;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Demonstrates how to work with SqlConnection objects
/// </summary>
class SqlConnectionDemo
{
    static void Main()
    {
        // 1. Instantiate the connection
        SqlConnection conn = new SqlConnection(
            "Data Source=(local);Initial Catalog=Northwind;
             Integrated Security=SSPI");

        SqlDataReader rdr = null;

        try
        {
            // 2. Open the connection
            conn.Open();

            // 3. Pass the connection to a command object
            SqlCommand cmd = 
                new SqlCommand("select * from Customers", conn);

            //
            // 4. Use the connection
            //

            // get query results
            rdr = cmd.ExecuteReader();

            // print the CustomerID of each record
            while (rdr.Read())
            {
                Console.WriteLine(rdr[0]);
            }
        }
        finally
        {
            // close the reader
            if (rdr != null)
            {
                rdr.Close();
            }

            // 5. Close the connection
            if (conn != null)
            {
                conn.Close();
            }
        }
    }
}
2 голосов
/ 18 апреля 2009

Да, вы прибили правильные технологии.

У меня есть несколько фантастических и бесплатных PDF-файлов / электронных книг для просмотра:

ADO.NET

http://www.murach.com/books/adon/chapters.htm (vb and ado.net

http://www.springerlink.com/content/w2126101r8qr2052/ (основы ado.net с c #)

http://archive.visualstudiomagazine.com/books/chapters/1590595122.pdf (vb & c #)

http://dotnet.jku.at/courses/tutorial/05.ADO.NET.pdf (отличный обзор powerpoint)

http://docs.msdnaa.net/ark_new3.0/cd3/content/Courses%5CVargas%5CCh12.pdf (книга ado.net)

http://media.wiley.com/product_data/excerpt/38/07821418/0782141838-1.pdf (приятно)

LINQ-TO-SQL Linq to Sql Скотта Гу - это, вероятно, все, что нужно для хорошего старта:

http://it -box.blogturk.net / WP-содержание / темы / он-бокс / файлы / LINQToSql.pdf

2 голосов
/ 17 апреля 2009

Лично я думаю, что это хорошо, чтобы понять, что делают эти "рамки". Я бы начал с некоторых основных запросов, чтобы попытаться понять, как работает SQL. Вы можете не использовать его так часто, как только начнете, но я всегда обнаруживал, что легче понять, зачем мне нужна среда, если я могу понять, что она делает для меня.

1 голос
/ 18 апреля 2009

Изучите основы баз данных и t-sql, прежде чем даже подумывать об использовании LINQ. Если вы не понимаете, как работают объединения и как должны быть структурированы базы данных, вы не можете эффективно выполнять запросы с помощью любого инструмента.

Вот несколько ссылок, чтобы помочь: http://www.tek -tips.com / faqs.cfm? FID = 4785 http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabaseDesign.aspx

0 голосов
/ 17 апреля 2009

Сначала возьмите любые книги sql от Бен Форта . Если у вас есть базовые основы, вы можете приступить к пониманию библиотек, блоков и других структур. В вашей карьере вам очень поможет понимание баз данных.

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