c# - 没有显式映射的 EF Core 5.0 多对多关系 - 如何连接两个表?
问题描述
如您所知,在 EF Core 5.0 中,您无需显式映射表即可建立关系。问题是:既然你没有映射类了,你怎么能真正加入/过滤它们?
以截图为例:
public class Product
{
...
public IList<Category> Categories {get;set;}
}
public class Category
{
...
public IList<Product> Products {get;set;}
}
EF 5.0 中的此代码(正确地)使用数据库中的正确 FK 自动生成名为 ProductCategory 的映射表,将 ProductId 和 CategoryId 链接在一起。此表映射在源代码中没有等效类。
现在我的问题是,如何在代码中没有映射类的情况下过滤这两个表的值?例如,如何表示以下假设查询:
选择所有产品 加入类别 [如何链接它们?] 产品可用且类别属于电子产品
提前致谢。
解决方案
我希望我的心灵感应足够好。
var query =
from p in ctx.Products
where p.Categories.Any(c => c.Name == "Electorics")
select p;
推荐阅读
- dcom - 如何在远程计算机中执行 DCOM 而无需双方匹配用户
- google-apps-script - 如何正确格式化 App 脚本检索的日期值
- javascript - 如何防止角子组件的点击事件过早触发?
- c++ - makefile 正在跳过目标
- javascript - 雨果不让我列出某个部分的页面,拒绝争论?
- python - 将 PIL Image 传递给谷歌云视觉,无需保存和读取
- r - 从 caret 包中绘制平均交叉验证的 AUC
- c# - 具有 SQL Server 连接的实体框架 6 尝试使用 MySqlClient 并崩溃
- azure - Azure DevOps Repos TFVC 从一个组织转移到另一个具有完整历史记录
- python - 尝试使用 Beautiful Soup 访问 ['style'] 时出现 KeyError