EF Core - 按类别名称过滤列表 - 忽略大小写
EF Core - Filter a list by category name - ignore casing
我有以下数据库:
我尽可能使用导航属性。我的映射 class BookCategory
看起来像这样(我在每个实体中都有集合属性 - Book
class 中的 BookCategories
属性, BookCategories
属性 在 Categories
class):
public class BookCategory
{
public int BookId { get; set; }
public Book Book { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set; }
}
我想按给定的类别列表获取书籍并忽略大小写。例如,如果我们有 horror mystery drama
作为输入,我们应该得到恐怖、神秘或戏剧类别的书籍(无论它们在数据库中是 HoRrOR、mYsTERY、DRAMA,反之亦然)。我不确定我的想法是否好以及如何完成它。提前谢谢!
public static string GetBooksByCategory(BookShopContext context, string input)
{
string[] categories = input.Split(' ', StringSplitOptions.RemoveEmptyEntries);
var books = context.Books
.Where(b => b.BookCategories.Any(bc => String.Equals(bc.Category.Name, ) ));
}
您需要确保您的排序规则配置正确(在数据库中),排序规则决定它是否区分大小写。这与 EF 无关:)
SQL 默认情况下,服务器不区分大小写,所以如果您没有更改它应该没问题。
然而....
可以在多个级别设置排序规则,因此您可能需要检查所有级别:
- 服务器等级
- 数据库级别
- 列级别
这里有一个 link 显示如何检查排序规则:https://docs.microsoft.com/en-us/sql/relational-databases/collations/view-collation-information?view=sql-server-ver15
您可以在此处阅读更多内容:
我有以下数据库:
我尽可能使用导航属性。我的映射 class BookCategory
看起来像这样(我在每个实体中都有集合属性 - Book
class 中的 BookCategories
属性, BookCategories
属性 在 Categories
class):
public class BookCategory
{
public int BookId { get; set; }
public Book Book { get; set; }
public int CategoryId { get; set; }
public Category Category { get; set; }
}
我想按给定的类别列表获取书籍并忽略大小写。例如,如果我们有 horror mystery drama
作为输入,我们应该得到恐怖、神秘或戏剧类别的书籍(无论它们在数据库中是 HoRrOR、mYsTERY、DRAMA,反之亦然)。我不确定我的想法是否好以及如何完成它。提前谢谢!
public static string GetBooksByCategory(BookShopContext context, string input)
{
string[] categories = input.Split(' ', StringSplitOptions.RemoveEmptyEntries);
var books = context.Books
.Where(b => b.BookCategories.Any(bc => String.Equals(bc.Category.Name, ) ));
}
您需要确保您的排序规则配置正确(在数据库中),排序规则决定它是否区分大小写。这与 EF 无关:)
SQL 默认情况下,服务器不区分大小写,所以如果您没有更改它应该没问题。
然而....
可以在多个级别设置排序规则,因此您可能需要检查所有级别:
- 服务器等级
- 数据库级别
- 列级别
这里有一个 link 显示如何检查排序规则:https://docs.microsoft.com/en-us/sql/relational-databases/collations/view-collation-information?view=sql-server-ver15
您可以在此处阅读更多内容: