2016-06-01 2 views
1

안녕하세요 C Asp.net에서 다른 데이터 테이블에 존재하는 두 개의 데이터 테이블업데이트 데이터 테이블 필드는 내가 가진 #

테이블

 
id isfav 
1 0 
2 0 
3 0 
4 0 
5 0 

 
id 
2 
3 

그래서 나는를 업데이트 할 favtable table1FavTable에 ID가 있으면 isFav을 1로 설정하십시오.

누구는 SQL에 Linq에에서

UPDATE table SET isfav = 1 WHERE EXISTS(SELECT * FROM favtable WHERE favtable.id = table.id) 

...

//Create DataContext first 

foreach (var rec in from a in dc.table 
        join b in dc.favtable on a.id equals b.id 
        select a) 
{ 
    a.isfav = true; 
} 

dc.SubmitChanges(); 

... 또는 (더 효율적으로) ... SQL에서이

+0

쓰기 일부 코드 첫번째 – prospector

+0

이'Database' 테이블 또는 C#'datatable'인가? – Mairaj

+0

csharp 데이터 테이블 –

답변

1

에 도와 줄 수 ..

0

코멘트에 언급되었으므로 DataTable이면 아래 표와 같이 Join을 사용하여 필드를 업데이트 할 수 있습니다.

table1.AsEnumerable() 
     .Join(table2.AsEnumerable(), 
      t1 => t1.Field<int>("id"), 
      t2 => t2.Field<int>("id"), 
      (t1, t2) => new { t1 }) 
     .ToList() 
     .ForEach(o => o.t1["isfav"] = 1); 

확인이 working code

관련 문제