と の 2 つのテーブルがTblAppointmentTypes
ありTblEmployeeInfo
ます。これら 2 つのテーブルの間には多対多の関係があり、結合テーブルは ですTblEmployeeServices
。には 2 つのレコードがあり、 にはTblAppointmentTypes
4 つのレコードがありTblEmployeeInfo
ます。の 2 つのレコードすべてTblAppointmentTypes
が のすべてのレコードに割り当てられ、TblEmployeeInfo
には 8 つのレコードがありTblEmployeeServices
ます。4 つすべてに割り当てられているすべてのサービスを取得したいのですがEmployees
、4 人の従業員すべてに割り当てられている 2 を返す必要がありますが、クエリは 8 つのレコードと 4 つの重複サービスを返します。
Telerik Open Access ORM を使用しています。コードは次のとおりです。
public static List<TblAppointmentType> GetAllAppointmentType(List<int> employeeIDs)
{
var list = new List<TblAppointmentType>();
if (employeeIDs != null && employeeIDs.Count > 0)
{
var dc = new Entities();
list = (from a in dc.TblAppointmentTypes.Distinct()
join e in dc.TblEmployeeServices on a.ID equals e.AppointmentTypeID
where a.IsDeleted == false && employeeIDs.Contains<int>(e.EmployeeID)
select a).ToList();
}
return list;
}