在应用程序开发领域,数据库的无缝集成是一个关键方面,可以决定软件的效率和功能。C#(C Sharp)是由Microsoft开发的一种功能强大且用途广泛的编程语言,它提供了与数据库集成的可靠机制。在本指南中,我们将探讨基本概念,并提供实用的代码示例来说明如何将 C# 与数据库集成。
在深入研究代码之前,让我们先讨论一下 C# 中数据库集成的主要方法:ADO.NET 和实体框架。
ADO.NET(ActiveX Data Objects for .NET)是 .NET Framework 中的一组类,允许开发人员访问和操作来自各种数据源(包括数据库)的数据。
实体框架 (EF) 是一个功能强大的对象关系映射框架,它允许开发人员使用 .NET 对象处理数据库,从而简化数据库交互。
在本指南中,我们将探讨这两种方法,以全面了解 C# 中的数据库集成。
让我们从 ADO.NET 开始,对数据库连接有一个基本的了解。
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Data Source=yourServer;Initial Catalog=yourDatabase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("Connected to the database");
}
}
}
此代码片段演示如何使用 ADO.NET 建立与 SQL Server 数据库的连接。
using System;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "Data Source=yourServer;Initial Catalog=yourDatabase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string sqlQuery = "SELECT * FROM Customers";
using (SqlCommand command = new SqlCommand(sqlQuery, connection))
{
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["CustomerName"]);
}
}
}
}
}
此示例演示如何使用 ADO.NET 执行简单的 SQL 查询以从数据库中检索数据。
现在,让我们探索使用实体框架的更现代和面向对象的方法。
在使用实体框架之前,需要安装实体框架 NuGet 包。
dotnet add package Microsoft.EntityFrameworkCore
using Microsoft.EntityFrameworkCore;
public class AppDbContext : DbContext
{
public DbSet<Customer> Customers { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Data Source=yourServer;Initial Catalog=yourDatabase;Integrated Security=True");
}
}
public class Customer
{
public int Id { get; set; }
public string CustomerName { get; set; }
}
在此示例中,我们定义了一个类和一个表示数据库上下文的类 ()。CustomerDbContextAppDbContext
using System;
using System.Linq;
class Program
{
static void Main()
{
using (var context = new AppDbContext())
{
var customers = context.Customers.ToList();
foreach (var customer in customers)
{
Console.WriteLine(customer.CustomerName);
}
}
}
}
此代码演示如何使用实体框架从数据库查询数据。
将 C# 与数据库集成是开发人员的一项基本技能,ADO.NET 和 Entity Framework 都提供了可靠的解决方案。无论你喜欢 ADO.NET 的简单性还是实体框架的抽象,了解这些数据库集成技术都使你能够使用 C# 生成高效的数据驱动型应用程序。