过ADO.NET和ORM框架访问SQL Server数据库有哪些步骤?请分别举例进行说明。
时间: 2024-02-06 12:12:45 浏览: 99
访问SQL Server数据库可以通过ADO.NET和ORM框架两种方式来实现。下面分别介绍这两种方式的步骤:
1. ADO.NET方式:
步骤一:建立数据库连接。使用SqlConnection类创建一个连接对象,指定连接字符串,即数据库的名称和服务器的名称。
```csharp
string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword";
SqlConnection connection = new SqlConnection(connectionString);
```
步骤二:创建SqlCommand对象。使用SqlCommand类创建一个命令对象,指定SQL语句或存储过程的名称,并指定连接对象。
```csharp
string commandText = "SELECT * FROM Customers";
SqlCommand command = new SqlCommand(commandText, connection);
```
步骤三:执行命令。使用SqlCommand对象的ExecuteReader()方法执行SQL语句或存储过程,并返回一个DataReader对象,可以通过该对象读取查询结果。
```csharp
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader.GetString(0));
}
```
2. ORM框架方式:
步骤一:配置ORM框架。使用ORM框架提供的配置文件,指定数据库的连接字符串和ORM框架的映射规则。
```xml
<configuration>
<connectionStrings>
<add name="MyConnection" connectionString="Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<add name="Microsoft SQL Server Provider" invariant="System.Data.SqlClient" description=".NET Framework Data Provider for SQL Server" type="System.Data.SqlClient.SqlClientFactory, System.Data.SqlClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</DbProviderFactories>
</system.data>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
<contexts>
<context type="MyNamespace.MyContext, MyAssembly">
<databaseInitializer type="System.Data.Entity.CreateDatabaseIfNotExists`1[[MyNamespace.MyContext, MyAssembly]], EntityFramework" />
</context>
</contexts>
</entityFramework>
</configuration>
```
步骤二:创建数据上下文对象。使用ORM框架提供的DbContext类创建数据上下文对象,该对象表示一个数据库的连接和ORM框架的映射规则。
```csharp
using (MyContext context = new MyContext())
{
// code here
}
```
步骤三:操作实体对象。使用数据上下文对象的DbSet属性访问实体对象,并使用LINQ语句进行查询、插入、更新和删除等操作。
```csharp
using (MyContext context = new MyContext())
{
// 查询
var customers = from c in context.Customers
where c.City == "London"
select c;
foreach (var customer in customers)
{
Console.WriteLine(customer.CustomerName);
}
// 插入
Customer newCustomer = new Customer { CustomerName = "New Customer" };
context.Customers.Add(newCustomer);
context.SaveChanges();
// 更新
var customer = context.Customers.FirstOrDefault(c => c.CustomerID == "ALFKI");
customer.City = "Shanghai";
context.SaveChanges();
// 删除
var customer = context.Customers.FirstOrDefault(c => c.CustomerID == "ALFKI");
context.Customers.Remove(customer);
context.SaveChanges();
}
```
阅读全文