Если вы создаете двустороннюю ассоциацию между публикацией и вложением, то вы можете сделать следующее:
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-to-SQL будет автоматически обрабатывать вставку вложений.
Некоторое время я не использовал конструктор DBML, но я вполне уверен, что вы можете сказать, что у поста есть вложения, а у вложения есть пост. И когда вы говорите attachment.Post = post
, установщик для Post
внутренне будет делать _post.Attachments.Add(attachment)
, где _post
является частным членом Attachment
сущности. Затем, когда вы отправляете сообщение, оно просматривает вложения и также вставляет их.