と の 2 つのテーブルがTblAppointmentTypesありTblEmployeeInfoます。これら 2 つのテーブルの間には多対多の関係があり、結合テーブルは ですTblEmployeeServices。には 2 つのレコードがあり、 にはTblAppointmentTypes4 つのレコードがあり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;
}