在C#的ORM(对象关系映射)框架中,param
关键字通常用于表示查询参数。这些参数可以是简单的值,如整数、字符串等,也可以是复杂的对象,如实体类的实例。使用param
关键字可以提高查询的性能和安全性,因为它可以避免SQL注入攻击。
以下是一个使用Entity Framework Core作为ORM框架的示例,展示了如何在查询中使用param
关键字:
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore;
namespace ORMExample
{
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
public class MyContext : DbContext
{
public DbSet Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;");
}
}
class Program
{
static void Main(string[] args)
{
using (var context = new MyContext())
{
// 使用param关键字定义查询参数
int minAge = 18;
string searchName = "John";
// 在查询中使用param关键字
var users = context.Users
.Where(u => u.Age >= minAge && u.Name.Contains(searchName))
.ToList();
foreach (var user in users)
{
Console.WriteLine($"Id: {user.Id}, Name: {user.Name}, Age: {user.Age}");
}
}
}
}
}
在这个示例中,我们使用param
关键字定义了两个查询参数minAge
和searchName
。然后,在LINQ查询中使用这些参数来过滤用户。这样做可以提高查询的性能和安全性,因为ORM框架会自动处理参数化查询和SQL注入攻击的问题。