2012-09-21 58 views
6

我一直在檢查ServiceStack的文檔,但我還沒有找到一種方法來與ServiceStack.OrmLite進行多對多的關係,它是否受支持?有沒有解決方法(沒有寫入原始的sql)?與ServiceStack.OrmLite的多對多關係

我想有這樣的事情:

文章< - ArticleToTag - >標籤

謝謝!

回答

11

如果這就是你的意思,它不會在幕後爲你自動處理。但是由於OrmLite只是ADO.NET接口的一個簡單封裝,所以任何事情都是可能的。

OrmLite中,默認情況下,每個POCO使用表格將1:1映射。所以如果你想要表格佈局,你可以像在數據庫中看到的那樣創建它,例如

var article = new Article { ... }; 
var tag = new Tag { ... }; 
var articleTag = new ArticleTag { ArticleId = article.Id, TagId = tag.Id }; 

db.Insert(article, tag, articleTag); 

雖然你可能想利用內置在OrmLite其中任何複雜類型只是被序列化,並存儲在一個單一的文本字段污點。所以,你可以這樣做:

var article = { new Article { Tags = { "A","B","C" } }; 

標籤只是一個List<string>和OrmLite將採取透明其序列數據庫中的字段,用於照顧。

+0

感謝您的回答! –