LINQ2DATASET에서 반환 행을 지정합니다
-
08-07-2019 - |
문제
데이터 가능에서 뚜렷한 행을 추출해야하며 Linq2datasets 가이 작업을 수행하는 유용하고 깨끗한 방법이라고 생각했지만 다음과 같이 LINQ2DS 쿼리에서 단순히 리턴 행을 식별 할 수없는 것으로 보입니다.
var result = from r in fips.AsEnumerable() select
r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
r.Field<string>("PROCESS_SUB_GROUP_NAME"),
r.Field<string>("...
첫 번째 쉼표 이후 오류가 발생하기 시작합니다.
이것은 올바른 가정입니까, 그리고 DataSet에서 열의 하위 집합을 반환하여 고유 한 () 메소드를 적용 할 수있는 방법은 무엇입니까?
해결책
당신은 새로운 진술과 필드 이름을 잊어 버렸습니다.
var result = from r
in fips.AsEnumerable()
select new
{
FacProcess = r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
GroupName = r.Field<string>("PROCESS_SUB_GROUP_NAME"),
Item3 = r.Field<string>("Item3")
};
또한 유형을 사용할 것이라고 명시 적으로 선언 할 수도 있습니다.
var result = from r
in fips.AsEnumerable()
select new MyType("InitClassParams")
{
FacProcess = r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
GroupName = r.Field<string>("PROCESS_SUB_GROUP_NAME"),
Item3 = r.Field<string>("Item3")
};
Scott Guthrie (부사장 Devision, Microsoft)는 LINQ에 대한 좋은 정보를 가지고 있습니다 (LINQ에서 SQL에 대해 이야기하지만 대부분은 상관없이 적용됩니다).
그런 다음 고유 한 조항을 적용하십시오.
var result = from r
in fips.AsEnumerable()
select new
{
FacProcess = r.Field<string>("FACILITY_PROCESS_SUB_GROUP_CODE"),
GroupName = r.Field<string>("PROCESS_SUB_GROUP_NAME"),
Item3 = r.Field<string>("Item3")
}
distinct;
그런 다음 목록에 올리거나 반복하십시오. 다음과 같은 것이 실행될 때까지 선택/구별되지 않습니다.
var list = result.ToList()
foreach(var item in result) {}
제휴하지 않습니다 StackOverflow