2008-12-16 8 views
0

J'ai trois tables comme ça:Comment Conserver la fiche aux tableaux consanguine Linq sql

Articles IdArticle Titre Contenu

Mots IdTag TagName

ContentTag IdContentTag Idtag IdContent

Lorsque l'utilisateur de mon site écrit un article avec l'ajout de balises et de soumettre, je veux l'enregistrer dans les tableaux ci-dessus.

De manière traditionnelle, j'avais l'habitude d'utiliser la transaction et je pouvais le faire. Mais comment puis-je le faire en utilisant linq to sql?

Répondre

1

commencer par définir un linq pour la cartographie SQL. Supposons que vous l'appeliez "LtoS".
En utilisant dans le code, il ressemblera à quelque chose comme ça

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(); 
} 

Je suppose l'contentTag est key'ing étranger dans les deux autres tables.

Voir Transaction Scope.

Questions connexes