asp.net MVC + linq to Entity 간단한 강좌 (5) linq to Entity에서join의 사용 및 하위 조회
ql 문장에서 일반적인 간단한 연결은 다음과 같다.
select stu.stu_name,k.parent_mob from ETrain_student as stu
join Etrain_stu_kinded as k
on stu.stu_id=k.stu_id
where stu_schoolcode='sjzsqz'
linq to Entity는 다음과 같이 씁니다.
4
var stu_kind = from stu in newEtrain.ETrain_student
join k in newEtrain.ETrain_stu_kinded on stu.stu_id equals k.stu_id
where stu.schoolcode == schoolcode
select new stu_kinded
{
stuName = stu.stu_name,
parentPhone = k.parent_mob
};
여기서 말하고자 하는 점은 온 뒤에 있는 "="호는 반드시 equals이고 stu는 앞에 있고 k는 뒤에 있고 바로 Join 앞에 있는 시계가 앞에 있어야 한다.순서는 바꿀 수 없다.만약 우리 온 뒤의 조건이 두 개라면 어떻게 하겠는가, 사실은 매우 간단하다.아래와 같다
간단하지 않아요?허허....
다음은 저희가 한꺼번에 조회해 보겠습니다.제가 먼저 코드를 올릴게요. 여러분 보세요. 제가 말한 것보다 더 잘 알 수 있을 거예요.
var stu_kind = from stu in newEtrain.ETrain_student
join k in newEtrain.ETrain_stu_kinded on new{stu.stu_id,stu.schoolcode} equals new{k.stu_id,k.schoolcode}
where stu.schoolcode == schoolcode
select new stu_kinded
{
stuName = stu.stu_name,
parentPhone = k.parent_mob
};
내가 더 이상 말할 필요가 없을 것 같아서, 모두들 서브 조회를 어떻게 처리했는지 알게 되었다.
덧붙여 말하자면, 내 위의 하위 조회의 예는 얻은 수치를 변수에 부여한 것이다. 그러나 만약 내가 문자열을 얻은 값이라면.어떡하지?사실은 똑같아요. 단지 select 뒤에 약간의 변화가 있을 뿐이에요.
만약 내가 한 학생의 성명을 얻으려고 한다면, 아래와 같이 쓴다.여기에 주의할 점은 제 개인적인 의견이기도 합니다.First Ordefault () 를 사용하지 않는 것이 좋습니다.First () 는 전자가 서열의 첫 번째 요소를 되돌려주기 때문입니다.시퀀스에 요소가 없으면 기본값을 반환합니다.이 기본값 하나만 있으면 매우 유용하다.
///
///
///
///
///
public ActionResult ClassRegNum(string id)
{
var info = from sc in newEtrain.ETrain_school_class
join grade in newEtrain.ETrain_grade on sc.grade_id equals grade.grade_id
where sc.schoolcode == id
orderby sc.grade_id, sc.class_id
select new ClassRegNum
{
grade_class = grade.grade_name + sc.class_Alias,
StudentNum = (from stu in newEtrain.ETrain_stu_class
where stu.class_id == sc.class_id && stu.schoolcode == id && stu.grade_id == sc.grade_id select stu).Count(),
RegSum = (from stuc in newEtrain.ETrain_stu_class
join k in newEtrain.ETrain_stu_kindred on stuc.stu_id equals k.stu_id
join reg in newEtrain.reg_sms_user on k.parent_mobile equals reg.mobile_number
where stuc.schoolcode == id && stuc.grade_id == sc.grade_id && stuc.class_id == sc.class_id && reg.reg_type == 1
select stuc).Count()
};
return View(info);
}
이쯤에서 여러분들이 asp.net MVC + linq to Entity는 이미 간단한 이해를 가지고 있으며 일반적인 조작에 아무런 문제가 없습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.