【发布时间】:2020-08-10 03:08:16
【问题描述】:
我尽可能使用导航属性。我的映射类BookCategory 看起来像这样(我在每个实体中都有集合属性-Book 类中的BookCategories 属性和BookCategories 类中的BookCategories 属性):
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 作为输入,我们应该得到恐怖、神秘或戏剧类别的书(无论在数据库中它们是恐怖、神秘、戏剧,反之亦然)。我不确定我的想法是否好以及如何完成它。提前谢谢!
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, ) ));
}
【问题讨论】:
-
您接受了一个很好的答案,但您知道如何完成查询本身吗?
-
@GertArnold,不,我没有。不过感谢您的回复!
-
@GertArnold,你能帮帮我吗?
-
可能类似于
bc => categories.Contains(bc.Category.Name)。
标签: c# linq entity-framework-core entity