Jak mogę zapytać o relację wiele do wielu za pomocą kodu Entity Framework first i linq? Problem polega na tym, że EF tworzy automatycznie tabelę relacji. Tak więc nie mam tego w moim kontekście.Zapytanie o relację wiele do wielu za pomocą linq/Entity Framework. CodeFirst
To jest model relacyjny:
muszę listę artykułów dla danego category_id zasadniczo replikować coś takiego:
select a.Id, a.Title,a.ShortDescription
from Articles a
join CategoryArticles ca on ca.Article_Id=a.Id
where ca.Category_Id = @parameter
Jednak moja dbcontext tylko:
public DbSet<Article> Articles { get; set; }
public DbSet<Category> Categories { get; set; }.
Dzięki za wszelkie Wsparcie.
Dzięki tak much.It działało idealnie. –
Jest to niepoprawne, EF nie jest wystarczająco inteligentny, aby używać złączeń. Zamiast tego utworzy instrukcję EXISTS. Wydajność może być tutaj problemem. – Talon
@Talon, teraz przetestowałem to zapytanie i prawdą jest, że dostawca EF 6.x Linq generuje 'Exist'' zamiast' join'. Dzięki za opinie. Uzgodniłem z tobą o wydajności, ale jeśli pominiesz stół łączący jako część swojego modelu, jest to jedyny sposób, aby to zrobić. – octavioccl