2014-04-27 1 views
1

관련 테이블을 업데이트하기위한 LinQ 쿼리가 있습니다. 다음과 같이LinQ to SQL : 테이블 데이터가 작동하지 않습니다.

코드는 다음과 같습니다

LINQHelperDataContext PersonalDetails = new LINQHelperDataContext(); 
var PerDetails1 = (from details in PersonalDetails.W_Details_Ts 
         where details.UserId == userId 
         select details).First(); 
PerDetails1.Side = "Bridge"; 
PerDetails1.TotalBudget = 4000000; 
PersonalDetails.SubmitChanges(); 

그러나이 변경/업데이트는 DB에 반영되지 않습니다. 또한 예외가 발생하지 않습니다. 제안하십시오.

+0

1.이 값들은 실제로 속성을 수정합니까? 2. 실행 된 SQL 문을 점검하십시오. –

답변

2

W_Details_Ts에 기본 키로 표시된 멤버 속성이 하나 이상 있는지 확인하십시오. L2S는 기본 테이블의 PK 멤버를 모르는 경우 업데이트 또는 삭제 문을 생성 할 수 없습니다.

+0

이것은 실제로 내 문제를 해결합니다. 멤버 중 하나를 기본 키로 표시하고 업데이트가 작동했습니다. 그러나 L2S가 이런 식으로 행동하는 이유가 무엇입니까? 기본 키를 갖는 것이 왜 필요한가요? – AnkitMittal

+1

L2S가 키를 모르는 경우 update 또는 delete 문에 대한 where 술어를 생성 할 수 없기 때문입니다. 업데이트 [table] set [column] = somevalue 여기서 [key] = keyvalue – KristoferA