2008-12-16 29 views
0

我有三個表這樣的:如何保存記錄到關係表的LINQ to SQL

文章 IdArticle 標題 內容

標籤 IDTAG 標籤名

ContentTag IdContentTag Idtag IdContent

當我在我的網站上的用戶寫一篇文章添加標籤並提交時,我想將它保存到上面的表中。

在傳統的方式,我曾經使用事務,我可以做到這一點。但我怎樣才能通過使用LINQ到SQL?

回答

1

開始通過定義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是國外key'ing到其他兩個表。

請參閱Transaction Scope