2011-09-07 5 views
-1

나는 정말 이상한 문제가 있습니다.LINQ2SQL SQL Server에서 볼 때만 데이터베이스 업데이트

3 개의 테이블이 있습니다.

  1. 포지션
  2. PositionAttachments
  3. 첨부

나는 그와 같은 키와 외래 키에 당신을 지루하게하지 않을 것이다 좀 분명해야한다.

위치를 추가하면 첨부 파일과 위치 첨부 파일이 모두 잘 작동합니다.

기존 위치 기록에 새 첨부 파일을 추가하면 다음과 같이 표시됩니다.

  1. 포지션 테이블이 업데이트되고 나는 화면에 변화를 볼 수 있습니다
  2. 첨부 표는 새로운 기록을 가지고
  3. PositionAttachments 테이블은
  4. 새로운 첨부 파일이 내 응용 프로그램
  5. 닫기 내 화면에 나타나지 않습니다 새로운 기록을 가지고 응용 프로그램을 다시 컴파일하고 다시 실행하십시오. 4
  6. SQL 서버를 통해 모든 테이블을 볼 수 있으며 세션이 종료되고 다시 로그인하면 화면에 레코드가 표시됩니다.

아무런 오류가 발생하지 않습니다.

업데이트 기록 코드;

public void AddAttachmentToPosition(PositionsAvailable positionModel, Attachment attachment) 
    { 
     //attachment.id = Guid.NewGuid(); 
     dc.Attachments.InsertOnSubmit(attachment); 

     PositionAttachment positionAttachment = new PositionAttachment(); 
     positionAttachment.PositionId = positionModel.PositionId; 
     positionAttachment.AttachmentId = attachment.id; 
     //positionAttachment.id = Guid.NewGuid(); 

     dc.PositionAttachments.InsertOnSubmit(positionAttachment); 
     dc.SubmitChanges(); 
    } 

편집

나는 데이터 컨텍스트에 의해 생성 된 로그를 보았다 그리고 내가 PositionAttachments이 삽입 얻을. Attachments 테이블과 기본적으로 같습니다.

DECLARE @output TABLE([id] UniqueIdentifier) 
INSERT INTO [dbo].[PositionAttachments]([PositionId], [AttachmentId]) 
OUTPUT INSERTED.[id] INTO @output 
VALUES (@p0, @p1) 
SELECT [id] FROM @output 
-- @p0: Input UniqueIdentifier (Size = 0; Prec = 0; Scale = 0) [92a3627d-ad01-466e-a315-423c851efc5d] 
-- @p1: Input UniqueIdentifier (Size = 0; Prec = 0; Scale = 0) [db566728-a313-40c7-af82-0a2f147234eb] 
-- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 3.5.30729.5420 

제 생각에 정상적으로 보입니다. 게다가 기존 위치에 첨부 ​​파일을 추가 할 때가 아니라 새로운 위치를 추가 할 때 동일한 코드가 작동합니다.

+0

어떤 전략이 직결되어 수명을 선택해야한다고 생각하지만? – Pleun

+0

누구든지 downvoted, 당신이 언급 한 경우 좋을거야! – griegs

답변

1

그냥 직감, 당신이 시도하는 경우 :

PositionAttachment positionAttachment = new PositionAttachment(); 
    positionAttachment.Position = positionModel; 
    positionAttachment.Attachmen = attachment; 

내가 DC는 또한 DC의 ID의 제대로

+0

감사하지만이 중 하나가 작동하지 않습니다. 이것은 내가 수백만 번 해본 것입니다. 그래서 저는 이것이 왜 효과가 없는지를 알아낼 수 없습니다. – griegs

+0

사실 mods 몇 개를 가지고이 작업이 조금씩 진행되고 있습니다. 감사. 나는 나머지가 이제는 상당히 쉬워 질 것이라고 생각한다. – griegs

+0

개조자는 무엇입니까 - 왜 지금 작동하는지 궁금 해서요 ... – Pleun

관련 문제