2011-12-23 3 views
0

나는했습니다 DataTable의 다음 -> dtFinance값을 확인하는 방법은 데이터 테이블의 열에 있습니까?

위의 데이터에서
ID Account Name Quarter FY Income_Percent 
1 ABC  Ram Q1  2011 50 
2 XYZ  Hari Q4  2011 35 
3 ABC  Rohit Q3  2011 40 
4 ABC  Ram Q2  2011 25 
5 XYZ  Hari Q3  2011 60 

, 나는 Q3 위의 DataTable의 존재 여부를 확인하고 싶습니다. 존재한다면 그 분기의 Income_Percent와 그 사람의 이름을 얻고 싶습니다

LINQ를 사용하여 쿼리를 작성하는 방법은 무엇입니까? 어떤 일치가있는 경우

답변

3

가 확인하려면 , 당신은 사용

var query = (
    from myRow in _db.dtFinance 
    where myRow.Quarter == "Q3" 
    select new { myRow.Name, myRow.Income_Percent } 
); 
:

if (query.Any()) ... 

이름을 얻으려면 첫 번째 항목의 Income_Percent, 당신은 할 수 있습니다 :

var firstRow = query.First(); 
string name = firstRow.Name; 
int incomePercent = firstRow.Income_Percent; 
... 

모두를 위해 단 1 db 전화로 할 수 있습니다.

var firstRow = query.FirstOrDefault(); 
if (firstRow != null) { 
    string name = firstRow.Name; 
    int incomePercent = firstRow.Income_Percent; 
    ... 
} 

자세한 내용을 보려면 https://stackoverflow.com/questions/47740/what-are-some-good-linq-resources
을 추천합니다. LINQPad도 좋아하며 흥미로울 것입니다. 이러한 코드 조각을 쉽게 테스트 할 수 있으며 LINQ 언어와 데이터베이스를 시험해 볼 수 있습니다.

+0

위의 테이블에서 Q3을 사용할 수없는 경우 먼저 유효성 검사를 처리 한 다음 유효성 검사가 결과를 얻는 방법을 가정합니다. 방법?? – venkat

+0

DataTable입니다. 적절한 데이터 유형도 도와주세요. 여기서 Quarter는 'string'유형이고 Income_Percent는 'int'데이터 유형이기 때문에 datatable.AsEnumerable로 도와주세요. – venkat

+0

존재하지 않는다면 유효성 검사는 무엇입니까? – V4Vendetta

1

@ Scott 리플리의 대답은 당신이 원하는 것입니다. 나는 단순히 메소드 구문을 사용하여 다른 linq 예제를 던지기를 원했다. 대부분의 예제는 쿼리 구문이지만, 일반적으로 간단한 시나리오의 메서드 구문을 선호합니다.

var row = _db.dtFinance.FirstOrDefault(x => x.Quarter == "Q3"); 
if (row != null) 
{ 
    var name = row.Name; 
    var incomePercent = row.Income_Percent; 
    ... 
} 

또한 멋진 소프트웨어입니다. LINQPad - 멋진 소프트웨어입니다.

+1

그래, 나는 "방법 구문"에 대해 완전히 동의한다. (기술적으로 그렇게 부르는 것인가?) ... 나는 완전히 OOP에 관심이있다. 그래서 나는 OOP에서 ** 생각한다. LINQ 문법은 항상 나를 둔화시킨다. 그러나 때때로, 그것은 덜 모호하고 읽기가 쉽기 때문에 그 용도가 있습니다. –

+0

"쿼리 구문"과 "메서드 구문"은 Microsoft에서 이들을 참조하는 방법입니다 (http://msdn.microsoft.com/en-us/library/bb397947.aspx). 나는 그룹핑을 많이해야 할 때 쿼리 구문을 사용하고있다. – codeConcussion

관련 문제