에 엔티티 Linq에에서 ("myTable에")를 포함, 난 내 주문 테이블에 액세스하는 방법이 : 그것은 매우 잘 작동실버 라이트
public IQueryable<Orders> GetOrders()
{
return this.ObjectContext.Orders.Include("UnitDetail");
}
을, 나는 창문에서 볼 수 데이터 소스, 그리고
여기에서 주문 및 UnitDetail을 볼 수 있습니다하지만 내가 선택한 행에 대한 몇 가지 고려 사항을 확인해야합니다, 그래서 다음 방법으로 만든 :
public IQueryable<Orders> GetOpenOrders(string _iduni)
{
ObjectSet<Orders> orders = this.ObjectContext.Orders;
ObjectSet<Estatus> estatus = this.ObjectContext.Estatus;
ObjectSet<DetailUnit> units = this.ObjectContext.DetailsUnit;
ObjectSet<ServiceType> servicetype = this.ObjectContext.ServiceType;
var query =
(from o in orders
join e in estatus on o.ID equals e.IDOrder
join u in units on o.IDUni equals u.IDUni
join t in servicetype on u.IDType equals t.IDType
where o.IDUni.Equals(_iduni)
&& !estatus.Any(oe => (oe.Estatus == "CANCELADA" || oe.Estatus == "CERRADA")
&& oe.IDOrder == o.ID)
select o).Distinct();
return query.AsQueryable();
}
이 나에게 올바른 RECS을 보여을,하지만 앞으로 일어날 ? 왜 UnitDetail이 보이지 않는가, 결과를 검사 할 때 UnitDetail이 null 인 경우,이 새로운 메소드에 Include clausule을 넣을 수있는 방법은 무엇입니까 ??
미리 감사드립니다
난 그냥 문제의이 같은 종류로 실행 한 오늘날'include'와'joins' 것이다 확실히 엉망. 그래서 코드를 다시보고, 조인의 목적은 무엇입니까, 당신은'select' 문장에서 그들과 아무 것도하지 않는 것처럼 보입니다. 나는 그것들이'where' 절에 참여하는 것을 볼 것으로 기대했지만, 당신의 제한들 중 어느 것도 그 조인을 필요로하지 않는다. 'estatus','units' 및'servicetype'에 대한 조인과 변수 할당의 목적은 무엇입니까? 내 편집 된 답변보기 – Mashton