Вы задаете два разных вопроса.
Во-первых, если комментарий может относиться только к одной статье, с точки зрения проектирования базы данных имеет больше смысла иметь ArticleId
в таблице Comment
вместо создания таблицы ссылок. Таблица промежуточных ссылок обычно используется только для многих: многих отношений, поскольку они не могут быть смоделированы явно и требуют такого уровня косвенности.
При этом, если у вас правильно определены внешние ключи, Linq2SQL обнаружит их и позволит работать с объектами, а не с ключами (или вы можете использовать любой из них). Например, ваша последняя строка может выглядеть примерно так, при условии, что вы оставили дизайн базы данных как есть:
comment.Articles.Add(new CommentsForArticle() { ArticleId = articleId, Comment = comment }
Обратите внимание, что я использую фактический Comment
объект, а не его ID. Делая это таким образом, Linq2SQL может автоматически сделать это сопоставление для вас. Если у вас есть дескриптор самой статьи, вы также можете заменить ArticleId = articleID
на Article = article
.