public DataTable GetRouteTable() { OQL oql = new OQL(typeof(Route)); oql.AddAssociation("Operator"); oql.AddAssociation("DeparturePort"); oql.AddAssociation("ArriavlPort"); oql.SelectProperty(Route.Properties.ID); oql.SelectProperty("Operator." + Company.Properties.ID); oql.SelectProperty("Operator." + Company.Properties.CompanyShortName); oql.SelectProperty("DeparturePort." + Port.Properties.PortName); oql.SelectProperty("ArriavlPort." + Port.Properties.PortName); oql.AddCondition(Condition.Disjunction() .AddCondition(Condition.IsNull(Route.Properties.IsActive)) .AddCondition(Condition.Eq(Route.Properties.IsActive, true)) ); oql.OrderBy("DeparturePort." + Port.Properties.PortName) .OrderBy("ArriavlPort." + Port.Properties.PortName); DataTable dt = Dao.GetTable(oql); return dt; }