.NET Core 中的原始 SQL

sqlserver

1个回答

写回答

gyygz1969

2025-06-30 19:10

+ 关注

SqlServer
SqlServer

使用 .NET Core 进行原始 SQL 查询操作是一种强大而灵活的方式,它允许开发人员直接编写 SQL 语句来与数据库进行交互。在本文中,我们将探讨如何在 .NET Core 中使用原始 SQL,并通过一个案例代码来演示其用法。

原始 SQL 在 .NET Core 中的使用

在 .NET Core 中,我们可以使用 Entity Framework Core 提供的原始 SQL 功能来执行自定义的 SQL 查询。这种方式适用于那些无法通过 LINQ 表达式来实现的复杂查询,或者需要直接操作数据库的情况。

案例代码

假设我们有一个名为 "Products" 的表,其中包含了产品的信息,包括产品名称、价格和库存数量。现在我们需要查询所有价格低于某个阈值的产品,并按照价格降序排列。以下是一个示例代码:

csharp

using Microsoft.EntityFrameworkCore;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

namespace MyApp

{

public class Product

{

public int Id { get; set; }

public string Name { get; set; }

public decimal Price { get; set; }

public int Quantity { get; set; }

}

public class MyAppContext : DbContext

{

public DbSet<Product> Products { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

{

optionsBuilder.UseSqlServer("YourConnectionString");

}

}

public class Program

{

public static async Task MAIn(string[] args)

{

using (var context = new MyAppContext())

{

var thresholdPrice = 50.0m; // 设置价格阈值

var query = $"SELECT * FROM Products WHERE Price < {thresholdPrice} ORDER BY Price DESC";</p> var products = awAIt context.Products.FromSqlRaw(query).ToListAsync();

foreach (var product in products)

{

Console.WriteLine($"Product Name: {product.Name}, Price: {product.Price}, Quantity: {product.Quantity}");

}

}

}

}

}

以上代码中,我们首先定义了一个名为 "Product" 的实体类,它对应数据库中的 "Products" 表。然后,我们创建了一个名为 "MyAppContext" 的 DbContext 类,并将 "Product" 实体类添加到 DbContext 中。

接下来,在主程序中,我们设置了一个价格阈值,并使用字符串插值的方式构建了一个原始 SQL 查询语句。然后,我们通过调用 FromSqlRaw 方法来执行该查询,并使用 ToListAsync 方法将结果转换为列表。

最后,我们遍历列表,并输出每个产品的名称、价格和数量。

通过 .NET Core 中的原始 SQL 功能,我们可以灵活地执行自定义的 SQL 查询操作。无论是处理复杂查询还是直接操作数据库,这种方式都能够满足我们的需求。在本文中,我们通过一个案例代码演示了如何在 .NET Core 中使用原始 SQL 进行查询操作。希望本文能对你在使用 .NET Core 进行数据库操作时有所帮助。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号