2009-10-25 3 views
1

Как я поместить вложенную вставку в базу данных с помощью Linq для SQLВложенная вставка в Linq to SQL?

моя таблица выглядит так:

[Post] 
--Post ID 
--Post Title 

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

[IMG] 
--IMGID (PK) 

это M: N таблица

в основном, когда я отправить форму, она идти вместе с вложениями в форме. Im нормально с вставкой Post, но борется с вставками вложений, так как у меня еще нет POST-кода ...

так как вы думаете, это лучшее решение для такого рода проблем?

Спасибо

+0

Вы нашли решение для отношения M: N? Если да, отправьте решение. –

ответ

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 будет обрабатывать вставку Attachment (ы) автоматически.

Я не использовал конструктор DBML некоторое время, но я уверен, вы можете сказать, что сообщение имеет прикрепленные файлы и что в приложении есть сообщение. И когда вы скажете attachment.Post = post, установщик для Post будет делать _post.Attachments.Add(attachment), где _post является частным членом объекта Attachment. Затем, когда вы отправляете сообщение, он будет проходить через вложения и вставлять их тоже.

+1

Я думаю, что это M: 1 как насчет M: N между пост и IMG? – DucDigital

Смежные вопросы