Thanks again for your reply .. finally i got a solution and i have done it as below.
using (apReportDataContext context = new apReportDataContext())
{
var appointments = (
from app in context.t_msts
join li in context.Lead_In on app.apm_LeadID equals li.iLeadID into app_li
from li in app_li.DefaultIfEmpty()
join cs in context.custContactInfos on li.iLeadID equals cs.id into li_cs
from cs in li_cs.DefaultIfEmpty()
join apm in context.atm_appointment_type_masts on app.apm_type_id equals apm.atm_id into cs_apm
from apm in cs_apm.DefaultIfEmpty()
select new
{
app.apm_id,
app.apm_name,
app.apm_desc,
app.apm_start_time,
cs.CustomerName,
apm.atm_type_name
}
);
**
if (dropdown.SelectedIndex != 0) appointments=
apps.Where(ap => ap.apm_ID.Equals(dropdown.SelectedValue));
**grv.DataSource = appointments.Distinct(); grv.DataBind();