Как сохранить запись в реляционных таблицах с помощью Linq To Sql - PullRequest
0 голосов
/ 16 декабря 2008

У меня есть три таких таблицы:

Статьи IdArticle заглавие Содержание

Метки IdTag TagName

ContentTag IdContentTag Idtag IdContent

Когда пользователь на моем сайте пишет статью с добавлением тегов и отправляет ее, я хочу сохранить ее в таблицах выше.

Традиционно, я использовал транзакцию и мог это сделать. Но как я могу сделать это с помощью linq to sql?

Ответы [ 2 ]

1 голос
/ 16 декабря 2008

Начните с определения соответствия linq to sql. Предположим, вы назвали это 'LtoS'.
Используя его в коде, он будет выглядеть примерно так

using(var ts = new TransactionScope())
using(var dc = new LtoSDataContext())
{

  var _article = new article
  {
    Title="someTitle",
    Content="someContent"
  };
  dc.articles.InsertOnSubmit(_article);

  var _tag = new tag
  {
    TagName="someTagName"
  };
  dc.articles.InsertOnSubmit(_tag);

  var _contentTag = new contentTag
  {
    Tag = _tag,
    Article = _article
  };
  dc.articles.InsertOnSubmit(_tag);

  dc.SubmitChanges();
}

Я предполагаю, что contentTag является внешним ключом в двух других таблицах.

См. Объем транзакции .

1 голос
/ 16 декабря 2008

Я думаю, вы ищете что-то вроде этого.

http://hookedonlinq.com/LINQtoSql5MinuteOverview.ashx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...