나는 정말 이상한 문제가 있습니다.LINQ2SQL SQL Server에서 볼 때만 데이터베이스 업데이트
3 개의 테이블이 있습니다.
- 포지션
- PositionAttachments
- 첨부
나는 그와 같은 키와 외래 키에 당신을 지루하게하지 않을 것이다 좀 분명해야한다.
새 위치를 추가하면 첨부 파일과 위치 첨부 파일이 모두 잘 작동합니다.
기존 위치 기록에 새 첨부 파일을 추가하면 다음과 같이 표시됩니다.
- 포지션 테이블이 업데이트되고 나는 화면에 변화를 볼 수 있습니다
- 첨부 표는 새로운 기록을 가지고
- PositionAttachments 테이블은
- 새로운 첨부 파일이 내 응용 프로그램
- 닫기 내 화면에 나타나지 않습니다 새로운 기록을 가지고 응용 프로그램을 다시 컴파일하고 다시 실행하십시오. 4
- 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
제 생각에 정상적으로 보입니다. 게다가 기존 위치에 첨부 파일을 추가 할 때가 아니라 새로운 위치를 추가 할 때 동일한 코드가 작동합니다.
어떤 전략이 직결되어 수명을 선택해야한다고 생각하지만? – Pleun
누구든지 downvoted, 당신이 언급 한 경우 좋을거야! – griegs