2009-10-25 192 views
1

我如何把一個嵌套的INSERT INTO使用LINQ數據庫附加到SQLLinq to SQL嵌套插入?

我的表是這樣的:

[Post] 
--Post ID 
--Post Title 

[Attachment] 
--Post ID (PFK) 
--AttachmentID (PK) 
--IMGID (FK) 
--VIDID (FK) 

[IMG] 
--IMGID (PK) 

這是一個M:N表

基本上當我提交表單,它與表格中的附件一起去。我確定插入帖子,但與插入附件strucling,因爲我沒有任何POST ID尚未...

所以你認爲這種問題的最佳解決方案是什麼?

謝謝

+0

您是否找到M:N關係的解決方案?如果是,請發佈解決方案。 – 2011-11-08 07:41:52

回答

1

如果你創建郵政和附件之間的雙向Association,這樣你就可以做到以下幾點:

Post post = new Post { /* Set some fields perhaps */ }; 
Attachment attachment = new Attachment { /* Same here */ }; 
attachment.Post = post; // That is the association you need to create 
dataContext.Posts.InsertOnSubmit(post); 
dataContext.SubmitChanges(); 

LINQ到SQL然後將處理附件插入(s)自動。

我有一段時間沒有使用過DBML設計器,但我相當確定你可以說一個帖子有附件,並且附件有一個帖子。當你說attachment.Post = post時,Post的設置者將在內部做_post.Attachments.Add(attachment),其中_postAttachment實體的私人成員。然後,當您提交帖子時,它將循環訪問附件並插入它們。

+1

我認爲這是M:1如何處理郵政和IMG之間的M:N? – DucDigital 2009-10-25 14:10:12