与ServiceStack.OrmLite的多对多关系

Jua*_*ias 6 servicestack ormlite-servicestack

我一直在检查ServiceStack的文档,但我没有找到与ServiceStack.OrmLite建立多对多关系的方法,是否支持?有没有解决方法(没有编写原始sql)?

我想要这样的东西:

文章< - ArticleToTag - >标签

谢谢!!

myt*_*thz 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);
Run Code Online (Sandbox Code Playgroud)

虽然您可能希望利用OrmLite中的内置blobbing,其中任何复杂类型都会被序列化并存储在单个文本字段中.所以你可以这样做:

var article = { new Article { Tags = { "A","B","C" } };
Run Code Online (Sandbox Code Playgroud)

标签只是一个List<string>和OrmLite将采取透明其序列数据库中的字段,用于照顾.