2

私がネットから盗んだこの例から:

Company company = context.Companies
                     .Include("Employee.Employee_Car")
                     .Include("Employee.Employee_Country")
                     .FirstOrDefault(c => c.Id == companyID);

たとえば、Employee_Car のインクルードに where 句が必要な場合は、どうすればよいですか? 青い車を取得したいだけだとしましょう。

ありがとう

4

2 に答える 2

4

簡単に言うと、インクルードを使用するだけでは実行できません。少し参加する必要があります。したがって、このヒント投稿SOの回答をとると、これらの線に沿って次のようなことができます。(正確には返品タイプではなく、最も近いものに注意してください)

var companyBlueCars = from company in context.Companies
                      where company.Id == companyID 
                      select new 
                      {
                          company,
                          blueCars = from employee in company.Employees
                                     where employee.Employee_Car.Colour == "blue"
                                     select employee.Employee_Car
                      };

(私はデータ構造についていくつか推測しましたが、アイデアはそこにあります。)

于 2012-08-23T20:53:15.833 に答える
1

include はフィルタリングまたはソートをサポートしていないため、これは行いません。会社と車をそれぞれのフィルターで読み込むには、2 つの個別のクエリを実行する必要があります。

于 2012-08-23T20:48:49.057 に答える