MVC3 프로젝트에서 일하고 있습니다. 나는 잠시 브라우징을하고 몇 가지 예제를 시도했지만 작동시키지 못했습니다.WHERE IN 절
OrderForm
테이블에서 DeptID
이 이미있는 다른 목록에있는 레코드 목록을 가져와야합니다.
내가이 분명 컨트롤러, 나의 방법이다 Contains()
가 IN
SQL 절을 대체하지만 읽을 수있는 모든 예제는 같은 방법으로
.Where(ListOfDepartments.Contains(q.DeptID))
에서이 일을 사용할 필요가 있음을 알고 있어요 작동하지 않습니다.
public ActionResult ValidOrders(string installation, string orderpriority, string stockclass, string validity)
{
int instID = System.Convert.ToInt32(installation);
int orderpriorityID = System.Convert.ToInt32(orderpriority);
int stockclassID = System.Convert.ToInt32(stockclass);
string period = validity;
try
{
var departments = dba.Department
.Where (a => a.InstID == instID);
var valid = dba.OrderForm
.Where(q => q.FormType == 3
&& q.FormStatus == 2
&& q.OrderPriority.OrderPriorityID == orderpriorityID
&& q.StockClassID == stockclassID
&& departments.Contains(q.DeptID));
return View(valid.ToList());
}
catch (Exception)
{
return View("Error");
}
}
내가 잘못 했나요?
예외가 발생 했습니까? –
'Department'에 가입해야합니다. –
부서 질의 끝 부분에'Select'를 추가하고'DeptID'를 비교할 ID 만 검색해야한다고 생각합니다. – juharr