我有一個非常奇怪的問題。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插入。它看起來與附件表基本相同。
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
在我看來,這看起來很正常。此外,當我添加一個新位置時,相同的代碼工作,而不是當我將附件添加到現有位置時。
什麼是你的戰略,關於DC的壽命是多少? – Pleun
不管誰低估,如果你提到爲什麼,這將是很好的! – griegs