如何在 LINQ to Entity Framework 中使用 LIKE 运算符

How to use LIKE Operator in LINQ to Entity Framework

我正在使用 Entity Framework。

问题: 在字符串列表中搜索以 'a' 开头的名称:

var likeQuery = from k in dbContext.Categories  
                where sqlMethod.Like(k.CategoryName, "a%" )  // name start with a 
                select k;
        
foreach (var item in likeQuery)
{
    Console.WriteLine(Item.);
}

如果这是 EF Core 则可以使用以下内容。

public static  List<Categories> CategoriesLike(string keyword)
{
    using var dbContext = new NorthwindContext();

    return dbContext.Categories.Where(category => 
        EF.Functions.Like(category.CategoryName, $"{keyword}%"))
        .ToList();
}

这样做。

var result 
  = dbContext.Categories.Where(i => i.CategoryName.StartsWith("a")).ToList();