簡體   English   中英

EF Core 5.0 多對多關系,無需顯式映射 - 如何連接兩個表?

[英]EF Core 5.0 many-to-many relationships without explicitly mapping - How to join two tables?

如您所知,在 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 鏈接在一起。 這個表映射在源代碼中沒有等效的類。

現在我的問題是,如何在代碼中沒有映射類的情況下過濾這兩個表的值? 例如,如何表示以下假設查詢:

選擇所有產品加入類別 [如何鏈接它們?] 產品可用且類別屬於 ELECTRONICS

提前致謝。

我希望我的心靈感應足夠好。

var query = 
   from p in ctx.Products
   where p.Categories.Any(c => c.Name == "Electorics")
   select p;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM