2010-02-08 5 views
0

나는 다음과 같은 간단한 데이터 모델이 : 나는 Usage 개체에 UsageTypeId, ResourceTypeIdPercentage 값을 변경 한 다음 SubmitChanges() LINQ - 투 - SQL 실행하면LINQ - 투 - SQL 업데이트가 제대로 작동하지

Resource 
{ 
    ResourceId 
    ResourceName 
} 

UsageType 
{ 
    UsageTypeId 
    UsageTypeName 
} 

Usage 
{ 
    UsageId 
    UsageTypeId 
    ResourceTypeId 
    Percentage 
} 

Percentage 값을 변경하는 SQL 문만 발급합니다 (SQL 프로파일 러를 통해 모니터링 됨).

코드를 단계별로 수행하면 UsageTypeIdResourceTypeId에 대해 올바른 값으로 설정되는 속성이 표시되지만 데이터베이스에는 적용되지 않습니다. 속성은 SubmitChanges()이 호출 될 때까지 올바른 값을 유지합니다. 다음과 같이

나는 변화를 만드는 중이라서 :

Usage usage = {get the Usage object from the datacontext}; 
usage.ResourceId = newValue1; 
usage.UsageTypeId = newValue2; 
usage.Percentage = newValue3; 

정말로 짜증나는 것은 내가 테스트 픽스처에서 메소드를 호출하는 경우 제대로 작동하고 데이터베이스를 업데이트하지만 것입니다 다른 곳에서만 없음에서 호출 할 때 외래 키 열이 업데이트됩니다.

제임스 :-) 모든 검사의

답변

0

먼저 적절한 사용을 얻기 위해 WHERE 절에 UsageID를 사용하는 경우.

다음 속성 (ResourceID 및 UsageTypeID)이 DBML에서 읽기 전용으로 만들어 졌는지 확인하십시오.

희망이 도움이됩니다.

덕분에, 라자

+0

읽기 전용 false로 설정하고, 다른 속성이 업데이트되고있다. 코드를 단계별로 진행하면 ResourceID 및 TypeID의 속성이 설정되고 관련 디자이너 코드가 실행됩니다. – m0gb0y74

+0

http://www.codeproject.com/Messages/2918828/LINQ-to-SQL-bug-when-updating-foreign-key-fields.aspx 도움이되기를 바랍니다. – Raja

관련 문제