[c#] C#과 데이터베이스 연동

C#은 Microsoft에서 개발한 다목적 프로그래밍 언어로, 데이터베이스와의 연동이 필요한 다양한 애플리케이션에서 널리 사용됩니다. 이 기사에서는 C#으로 데이터베이스를 연동하는 방법에 대해 알아보겠습니다.

ADO.NET을 사용한 데이터베이스 연결

C#에서 가장 일반적으로 사용되는 데이터베이스 연동 기술은 ADO.NET (ActiveX Data Objects .NET)입니다. ADO.NET은 데이터를 관리하고 조작하기 위한 기능을 제공하여 데이터베이스와의 효율적인 상호 작용을 가능하게 합니다.

아래는 SQL Server 데이터베이스와의 연결을 위한 C# 코드의 간단한 예제입니다.

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

class Program
{
    static void Main()
    {
        string connectionString = "Server=YourServerName;Database=YourDatabaseName;Integrated Security=True;";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand("SELECT * FROM YourTableName", connection);
            connection.Open();
            SqlDataReader reader = command.ExecuteReader();
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}", reader["Column1"], reader["Column2"]));
            }
            reader.Close();
        }
    }
}

위 코드는 SQL Server 데이터베이스에 연결하고 특정 테이블의 데이터를 검색하여 콘솔에 출력하는 간단한 예제입니다.

Entity Framework를 사용한 객체 관계 매핑

더욱 추상화된 방법으로 데이터베이스와 연동하고자 할 때, Entity Framework를 사용할 수 있습니다. Entity Framework는 개발자가 데이터베이스를 다루기 위해 SQL 쿼리를 직접 작성하는 대신, C# 객체와 데이터베이스 레코드를 매핑하여 사용할 수 있도록 해줍니다.

아래는 Entity Framework를 사용하여 데이터를 조회하는 간단한 예제입니다.

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        using (var context = new YourDbContext())
        {
            var results = from p in context.YourTableName
                          where p.SomeProperty == "SomeValue"
                          select p;
            foreach (var item in results)
            {
                Console.WriteLine(item);
            }
        }
    }
}

위 예제에서 YourDbContext는 데이터베이스 컨텍스트를 나타내며, YourTableName은 데이터베이스 테이블을 나타냅니다.

결론

C#에서 데이터베이스를 연동하는 방법에는 ADO.NET과 Entity Framework를 사용하는 것이 가장 흔합니다. 어떤 방법을 선택하든, 데이터베이스와의 효율적이고 안정적인 상호 작용을 위해 적절한 방법을 선택하는 것이 중요합니다.