簡體   English   中英

實體框架中實體的多個引用

[英]Multiple References of an entities in Entity Framework

這是我的模特。

在此處輸入圖片說明

現在,您可以在這里看到Employee可以具有許多技能,然后EmployeeSkill可以包含Skill和Skill Level。

我想編寫一個查詢,在其中我要訪問所有表中的所有相關數據

說這里是下面的查詢

 _context.Employees.include(e=>e.EmployeesSkills.select(s=>s.Skill)); 

此查詢將僅包括employee => EmployeesSkills ==> Skill如何在此同一查詢中包括SkillLevel以訪問所有相關表中的數據。

Include Expression<Func<T,U>>Include擴展方法重載只能理解僅使用屬性訪問和Select方法的非常簡單的導航路徑。 要包括具有更復雜關系的實體,您需要使用帶字符串的重載。 在您的情況下,它看起來像這樣:

 _context.Employees.Include("EmployeesSkills.Skill").Include("EmployeesSkills.SkillLevel"); 

編輯:

實際上,對於Include的強類型版本,您似乎想做的事情並不復雜。 這應該工作:

_context.Employees.Include(e => e.EmployeesSkills.Select(s => s.Skill))
                  .Include(e => e.EmployeesSkills.Select(s => s.SkillLevel));

暫無
暫無

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

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